diff options
| author | Reid Kleckner <rnk@google.com> | 2018-03-23 23:38:53 +0000 |
|---|---|---|
| committer | Reid Kleckner <rnk@google.com> | 2018-03-23 23:38:53 +0000 |
| commit | e27b410661f5e3a8ead2645eb27567a376668e0f (patch) | |
| tree | afe11a5bc3903ab05a8671a11075de5d3c0ad7bd /llvm/test/CodeGen/X86/vec_cast.ll | |
| parent | 5cd35ed4fe72d96354c6f17ae071747ea62f0f14 (diff) | |
| download | bcm5719-llvm-e27b410661f5e3a8ead2645eb27567a376668e0f.tar.gz bcm5719-llvm-e27b410661f5e3a8ead2645eb27567a376668e0f.zip | |
[X86] Fix Windows `i1 zeroext` conventions to use i8 instead of i32
Both GCC and MSVC only look at the low byte of a boolean when it is
passed.
llvm-svn: 328386
Diffstat (limited to 'llvm/test/CodeGen/X86/vec_cast.ll')
| -rw-r--r-- | llvm/test/CodeGen/X86/vec_cast.ll | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/vec_cast.ll b/llvm/test/CodeGen/X86/vec_cast.ll index e6e59829e00..f6b1ac14490 100644 --- a/llvm/test/CodeGen/X86/vec_cast.ll +++ b/llvm/test/CodeGen/X86/vec_cast.ll @@ -37,6 +37,9 @@ define <3 x i32> @b(<3 x i16> %a) nounwind { ; ; CHECK-WIN-LABEL: b: ; CHECK-WIN: # %bb.0: +; CHECK-WIN-NEXT: # kill: def $r8w killed $r8w def $r8d +; CHECK-WIN-NEXT: # kill: def $dx killed $dx def $edx +; CHECK-WIN-NEXT: # kill: def $cx killed $cx def $ecx ; CHECK-WIN-NEXT: movd %ecx, %xmm0 ; CHECK-WIN-NEXT: pinsrw $1, %edx, %xmm0 ; CHECK-WIN-NEXT: pinsrw $2, %r8d, %xmm0 @@ -58,6 +61,7 @@ define <1 x i32> @c(<1 x i16> %a) nounwind { ; ; CHECK-WIN-LABEL: c: ; CHECK-WIN: # %bb.0: +; CHECK-WIN-NEXT: # kill: def $cx killed $cx def $ecx ; CHECK-WIN-NEXT: movd %ecx, %xmm0 ; CHECK-WIN-NEXT: pshuflw {{.*#+}} xmm0 = xmm0[0,0,2,1,4,5,6,7] ; CHECK-WIN-NEXT: psrad $16, %xmm0 @@ -100,6 +104,9 @@ define <3 x i32> @e(<3 x i16> %a) nounwind { ; ; CHECK-WIN-LABEL: e: ; CHECK-WIN: # %bb.0: +; CHECK-WIN-NEXT: # kill: def $r8w killed $r8w def $r8d +; CHECK-WIN-NEXT: # kill: def $dx killed $dx def $edx +; CHECK-WIN-NEXT: # kill: def $cx killed $cx def $ecx ; CHECK-WIN-NEXT: movd %ecx, %xmm0 ; CHECK-WIN-NEXT: pinsrw $1, %edx, %xmm0 ; CHECK-WIN-NEXT: pinsrw $2, %r8d, %xmm0 @@ -121,6 +128,7 @@ define <1 x i32> @f(<1 x i16> %a) nounwind { ; ; CHECK-WIN-LABEL: f: ; CHECK-WIN: # %bb.0: +; CHECK-WIN-NEXT: # kill: def $cx killed $cx def $ecx ; CHECK-WIN-NEXT: movd %ecx, %xmm0 ; CHECK-WIN-NEXT: pxor %xmm1, %xmm1 ; CHECK-WIN-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3] |

