diff options
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/AMDGPU/SIInstructions.td | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/Target/AMDGPU/SIInstructions.td b/llvm/lib/Target/AMDGPU/SIInstructions.td index c6043ea1c24..1336a576e84 100644 --- a/llvm/lib/Target/AMDGPU/SIInstructions.td +++ b/llvm/lib/Target/AMDGPU/SIInstructions.td @@ -1327,11 +1327,21 @@ def : GCNPat < (S_XOR_B64 $src0, $src1) >; +def : GCNPat < + (i1 (sub i1:$src0, i1:$src1)), + (S_XOR_B64 $src0, $src1) +>; + let AddedComplexity = 1 in { def : GCNPat < (i1 (add i1:$src0, (i1 -1))), (S_NOT_B64 $src0) >; + +def : GCNPat < + (i1 (sub i1:$src0, (i1 -1))), + (S_NOT_B64 $src0) +>; } def : GCNPat < |