@Override
	public Pattern doOr(Pattern b, int sa) {
		if (b.numDisjoint() > 0) {
			return b.doOr(this, -sa);
		}

		if (b instanceof CombinePattern) {
			return b.doOr(this, -sa);
		}

		DisjointPattern res1, res2;
		res1 = (DisjointPattern) simplifyClone();
		res2 = (DisjointPattern) b.simplifyClone();
		if (sa < 0) {
			res1.shiftInstruction(-sa);
		}
		else {
			res2.shiftInstruction(sa);
		}
		return new OrPattern(res1, res2);
	}
Matches against the actual instruction bit stream
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/app/plugin/processors/sleigh/pattern/InstructionPattern.java