Skip to content

Commit 7fbdadb

Browse files
committed
[AArch64][X86] xor.ll - fix vec_add_of_not_with_undef_decrement copy+pasta typo
This was copied from vec_add_of_not_with_undef instead of vec_add_of_not_decrement - replacing the second sub with an add
1 parent ae9a5b0 commit 7fbdadb

File tree

2 files changed

+13
-15
lines changed

2 files changed

+13
-15
lines changed

llvm/test/CodeGen/AArch64/xor.ll

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,10 @@ define <4 x i32> @vec_add_of_not_with_undef(<4 x i32> %x, <4 x i32> %y) {
7373
define <4 x i32> @vec_add_of_not_with_undef_decrement(<4 x i32> %x, <4 x i32> %y) {
7474
; CHECK-LABEL: vec_add_of_not_with_undef_decrement:
7575
; CHECK: // %bb.0:
76-
; CHECK-NEXT: movi v2.4s, #1
77-
; CHECK-NEXT: sub v0.4s, v0.4s, v1.4s
78-
; CHECK-NEXT: add v0.4s, v0.4s, v2.4s
76+
; CHECK-NEXT: mvn v1.16b, v1.16b
77+
; CHECK-NEXT: add v0.4s, v0.4s, v1.4s
7978
; CHECK-NEXT: ret
8079
%t0 = sub <4 x i32> %x, %y
81-
%r = add <4 x i32> %t0, <i32 1, i32 undef, i32 1, i32 1>
80+
%r = sub <4 x i32> %t0, <i32 1, i32 undef, i32 1, i32 1>
8281
ret <4 x i32> %r
8382
}

llvm/test/CodeGen/X86/xor.ll

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -654,26 +654,25 @@ define <4 x i32> @vec_add_of_not_with_undef(<4 x i32> %x, <4 x i32> %y) {
654654
define <4 x i32> @vec_add_of_not_with_undef_decrement(<4 x i32> %x, <4 x i32> %y) {
655655
; X86-LABEL: vec_add_of_not_with_undef_decrement:
656656
; X86: # %bb.0:
657-
; X86-NEXT: psubd %xmm1, %xmm0
658-
; X86-NEXT: pcmpeqd %xmm1, %xmm1
659-
; X86-NEXT: psubd %xmm1, %xmm0
657+
; X86-NEXT: pcmpeqd %xmm2, %xmm2
658+
; X86-NEXT: pxor %xmm1, %xmm2
659+
; X86-NEXT: paddd %xmm2, %xmm0
660660
; X86-NEXT: retl
661661
;
662662
; X64-LIN-LABEL: vec_add_of_not_with_undef_decrement:
663663
; X64-LIN: # %bb.0:
664-
; X64-LIN-NEXT: psubd %xmm1, %xmm0
665-
; X64-LIN-NEXT: pcmpeqd %xmm1, %xmm1
666-
; X64-LIN-NEXT: psubd %xmm1, %xmm0
664+
; X64-LIN-NEXT: pcmpeqd %xmm2, %xmm2
665+
; X64-LIN-NEXT: pxor %xmm1, %xmm2
666+
; X64-LIN-NEXT: paddd %xmm2, %xmm0
667667
; X64-LIN-NEXT: retq
668668
;
669669
; X64-WIN-LABEL: vec_add_of_not_with_undef_decrement:
670670
; X64-WIN: # %bb.0:
671-
; X64-WIN-NEXT: movdqa (%rcx), %xmm0
672-
; X64-WIN-NEXT: psubd (%rdx), %xmm0
673-
; X64-WIN-NEXT: pcmpeqd %xmm1, %xmm1
674-
; X64-WIN-NEXT: psubd %xmm1, %xmm0
671+
; X64-WIN-NEXT: pcmpeqd %xmm0, %xmm0
672+
; X64-WIN-NEXT: pxor (%rdx), %xmm0
673+
; X64-WIN-NEXT: paddd (%rcx), %xmm0
675674
; X64-WIN-NEXT: retq
676675
%t0 = sub <4 x i32> %x, %y
677-
%r = add <4 x i32> %t0, <i32 1, i32 undef, i32 1, i32 1>
676+
%r = sub <4 x i32> %t0, <i32 1, i32 undef, i32 1, i32 1>
678677
ret <4 x i32> %r
679678
}

0 commit comments

Comments
 (0)