Skip to content

Commit b5137cd

Browse files
committed
[X86][NFC] Precommit tests for zext/sext undef.
1 parent 4f3bf1c commit b5137cd

File tree

1 file changed

+26
-14
lines changed

1 file changed

+26
-14
lines changed

llvm/test/CodeGen/X86/zext-sext.ll

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,32 +11,34 @@ define void @func(ptr %a, ptr %b, ptr %c, ptr %d) nounwind {
1111
; CHECK-LABEL: func:
1212
; CHECK: # %bb.0: # %entry
1313
; CHECK-NEXT: movslq (%rsi), %rax
14-
; CHECK-NEXT: movl $4, %esi
15-
; CHECK-NEXT: subq %rax, %rsi
14+
; CHECK-NEXT: movl $4, %r8d
15+
; CHECK-NEXT: subq %rax, %r8
1616
; CHECK-NEXT: movq (%rdx), %rax
1717
; CHECK-NEXT: movswl 8(%rdi), %edx
18-
; CHECK-NEXT: movswl (%rax,%rsi,2), %eax
18+
; CHECK-NEXT: movswl (%rax,%r8,2), %eax
1919
; CHECK-NEXT: imull %edx, %eax
2020
; CHECK-NEXT: addl $2138875574, %eax # imm = 0x7F7CA6B6
2121
; CHECK-NEXT: cmpl $2138875574, %eax # imm = 0x7F7CA6B6
2222
; CHECK-NEXT: setl %dl
2323
; CHECK-NEXT: cmpl $-8608074, %eax # imm = 0xFF7CA6B6
24-
; CHECK-NEXT: setge %sil
25-
; CHECK-NEXT: andb %dl, %sil
26-
; CHECK-NEXT: movzbl %sil, %edx
27-
; CHECK-NEXT: movslq %eax, %rsi
28-
; CHECK-NEXT: movq %rsi, %rdi
24+
; CHECK-NEXT: setge %r8b
25+
; CHECK-NEXT: andb %dl, %r8b
26+
; CHECK-NEXT: movzbl %r8b, %edx
27+
; CHECK-NEXT: movslq %eax, %r8
28+
; CHECK-NEXT: movq %r8, %r9
2929
; CHECK-NEXT: negl %edx
30-
; CHECK-NEXT: subq %rax, %rdi
30+
; CHECK-NEXT: subq %rax, %r9
3131
; CHECK-NEXT: xorl %eax, %eax
3232
; CHECK-NEXT: testl $-2, %edx
33-
; CHECK-NEXT: cmovneq %rax, %rdi
34-
; CHECK-NEXT: testl %esi, %esi
35-
; CHECK-NEXT: cmovnsq %rax, %rdi
33+
; CHECK-NEXT: cmovneq %rax, %r9
34+
; CHECK-NEXT: testl %r8d, %r8d
35+
; CHECK-NEXT: cmovnsq %rax, %r9
3636
; CHECK-NEXT: movq (%rcx), %rax
37-
; CHECK-NEXT: subq %rdi, %rsi
38-
; CHECK-NEXT: leaq -2138875574(%rax,%rsi), %rax
37+
; CHECK-NEXT: subq %r9, %r8
38+
; CHECK-NEXT: leaq -2138875574(%rax,%r8), %rax
3939
; CHECK-NEXT: movq %rax, (%rcx)
40+
; CHECK-NEXT: movl $0, (%rdi)
41+
; CHECK-NEXT: movl $0, (%rsi)
4042
; CHECK-NEXT: retq
4143
entry:
4244
%tmp103 = getelementptr inbounds [40 x i16], ptr %a, i64 0, i64 4
@@ -77,5 +79,15 @@ entry:
7779
%alphaXbetaY = add i64 %alphaX, %tmp115
7880
%transformed = add i64 %alphaXbetaY, 9040145182981852475
7981
store i64 %transformed, ptr %d, align 8
82+
%tmp200 = zext i16 undef to i32
83+
%tmp201 = zext i16 undef to i32
84+
%tmp202 = shl i32 %tmp201, 16
85+
%tmp203 = or i32 %tmp200, %tmp202
86+
store i32 %tmp203, ptr %a, align 4
87+
%tmp210 = sext i16 undef to i32
88+
%tmp211 = sext i16 undef to i32
89+
%tmp212 = shl i32 %tmp211, 16
90+
%tmp213 = or i32 %tmp210, %tmp212
91+
store i32 %tmp213, ptr %b, align 4
8092
ret void
8193
}

0 commit comments

Comments
 (0)