Regenerate test-shrink.ll test results. NFC

llvm-svn: 320602
This commit is contained in:
Amaury Sechet 2017-12-13 18:04:57 +00:00
parent 2fbee4f869
commit a402e51428
1 changed files with 360 additions and 69 deletions

View File

@ -1,14 +1,39 @@
; RUN: llc < %s -mtriple=x86_64-linux | FileCheck %s --check-prefix=CHECK-64
; RUN: llc < %s -mtriple=x86_64-win32 | FileCheck %s --check-prefix=CHECK-64
; RUN: llc < %s -mtriple=i686-- | FileCheck %s --check-prefix=CHECK-32
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -mtriple=x86_64-linux | FileCheck %s --check-prefix=CHECK-LINUX64
; RUN: llc < %s -mtriple=x86_64-win32 | FileCheck %s --check-prefix=CHECK-WIN32-64
; RUN: llc < %s -mtriple=i686-- | FileCheck %s --check-prefix=CHECK-X86
; CHECK-64-LABEL: g64xh:
; CHECK-64: btl $11
; CHECK-64: ret
; CHECK-32-LABEL: g64xh:
; CHECK-32: btl $11
; CHECK-32: ret
define void @g64xh(i64 inreg %x) nounwind {
; CHECK-LINUX64-LABEL: g64xh:
; CHECK-LINUX64: # %bb.0:
; CHECK-LINUX64-NEXT: btl $11, %edi
; CHECK-LINUX64-NEXT: jb .LBB0_2
; CHECK-LINUX64-NEXT: # %bb.1: # %yes
; CHECK-LINUX64-NEXT: pushq %rax
; CHECK-LINUX64-NEXT: callq bar
; CHECK-LINUX64-NEXT: popq %rax
; CHECK-LINUX64-NEXT: .LBB0_2: # %no
; CHECK-LINUX64-NEXT: retq
;
; CHECK-WIN32-64-LABEL: g64xh:
; CHECK-WIN32-64: # %bb.0:
; CHECK-WIN32-64-NEXT: subq $40, %rsp
; CHECK-WIN32-64-NEXT: btl $11, %ecx
; CHECK-WIN32-64-NEXT: jb .LBB0_2
; CHECK-WIN32-64-NEXT: # %bb.1: # %yes
; CHECK-WIN32-64-NEXT: callq bar
; CHECK-WIN32-64-NEXT: .LBB0_2: # %no
; CHECK-WIN32-64-NEXT: addq $40, %rsp
; CHECK-WIN32-64-NEXT: retq
;
; CHECK-X86-LABEL: g64xh:
; CHECK-X86: # %bb.0:
; CHECK-X86-NEXT: btl $11, %eax
; CHECK-X86-NEXT: jb .LBB0_2
; CHECK-X86-NEXT: # %bb.1: # %yes
; CHECK-X86-NEXT: calll bar
; CHECK-X86-NEXT: .LBB0_2: # %no
; CHECK-X86-NEXT: retl
%t = and i64 %x, 2048
%s = icmp eq i64 %t, 0
br i1 %s, label %yes, label %no
@ -19,13 +44,38 @@ yes:
no:
ret void
}
; CHECK-64-LABEL: g64xl:
; CHECK-64: testb $8, [[A0L:%dil|%cl]]
; CHECK-64: ret
; CHECK-32-LABEL: g64xl:
; CHECK-32: testb $8, %al
; CHECK-32: ret
define void @g64xl(i64 inreg %x) nounwind {
; CHECK-LINUX64-LABEL: g64xl:
; CHECK-LINUX64: # %bb.0:
; CHECK-LINUX64-NEXT: testb $8, %dil
; CHECK-LINUX64-NEXT: jne .LBB1_2
; CHECK-LINUX64-NEXT: # %bb.1: # %yes
; CHECK-LINUX64-NEXT: pushq %rax
; CHECK-LINUX64-NEXT: callq bar
; CHECK-LINUX64-NEXT: popq %rax
; CHECK-LINUX64-NEXT: .LBB1_2: # %no
; CHECK-LINUX64-NEXT: retq
;
; CHECK-WIN32-64-LABEL: g64xl:
; CHECK-WIN32-64: # %bb.0:
; CHECK-WIN32-64-NEXT: subq $40, %rsp
; CHECK-WIN32-64-NEXT: testb $8, %cl
; CHECK-WIN32-64-NEXT: jne .LBB1_2
; CHECK-WIN32-64-NEXT: # %bb.1: # %yes
; CHECK-WIN32-64-NEXT: callq bar
; CHECK-WIN32-64-NEXT: .LBB1_2: # %no
; CHECK-WIN32-64-NEXT: addq $40, %rsp
; CHECK-WIN32-64-NEXT: retq
;
; CHECK-X86-LABEL: g64xl:
; CHECK-X86: # %bb.0:
; CHECK-X86-NEXT: testb $8, %al
; CHECK-X86-NEXT: jne .LBB1_2
; CHECK-X86-NEXT: # %bb.1: # %yes
; CHECK-X86-NEXT: calll bar
; CHECK-X86-NEXT: .LBB1_2: # %no
; CHECK-X86-NEXT: retl
%t = and i64 %x, 8
%s = icmp eq i64 %t, 0
br i1 %s, label %yes, label %no
@ -36,13 +86,38 @@ yes:
no:
ret void
}
; CHECK-64-LABEL: g32xh:
; CHECK-64: btl $11
; CHECK-64: ret
; CHECK-32-LABEL: g32xh:
; CHECK-32: btl $11
; CHECK-32: ret
define void @g32xh(i32 inreg %x) nounwind {
; CHECK-LINUX64-LABEL: g32xh:
; CHECK-LINUX64: # %bb.0:
; CHECK-LINUX64-NEXT: btl $11, %edi
; CHECK-LINUX64-NEXT: jb .LBB2_2
; CHECK-LINUX64-NEXT: # %bb.1: # %yes
; CHECK-LINUX64-NEXT: pushq %rax
; CHECK-LINUX64-NEXT: callq bar
; CHECK-LINUX64-NEXT: popq %rax
; CHECK-LINUX64-NEXT: .LBB2_2: # %no
; CHECK-LINUX64-NEXT: retq
;
; CHECK-WIN32-64-LABEL: g32xh:
; CHECK-WIN32-64: # %bb.0:
; CHECK-WIN32-64-NEXT: subq $40, %rsp
; CHECK-WIN32-64-NEXT: btl $11, %ecx
; CHECK-WIN32-64-NEXT: jb .LBB2_2
; CHECK-WIN32-64-NEXT: # %bb.1: # %yes
; CHECK-WIN32-64-NEXT: callq bar
; CHECK-WIN32-64-NEXT: .LBB2_2: # %no
; CHECK-WIN32-64-NEXT: addq $40, %rsp
; CHECK-WIN32-64-NEXT: retq
;
; CHECK-X86-LABEL: g32xh:
; CHECK-X86: # %bb.0:
; CHECK-X86-NEXT: btl $11, %eax
; CHECK-X86-NEXT: jb .LBB2_2
; CHECK-X86-NEXT: # %bb.1: # %yes
; CHECK-X86-NEXT: calll bar
; CHECK-X86-NEXT: .LBB2_2: # %no
; CHECK-X86-NEXT: retl
%t = and i32 %x, 2048
%s = icmp eq i32 %t, 0
br i1 %s, label %yes, label %no
@ -53,13 +128,38 @@ yes:
no:
ret void
}
; CHECK-64-LABEL: g32xl:
; CHECK-64: testb $8, [[A0L]]
; CHECK-64: ret
; CHECK-32-LABEL: g32xl:
; CHECK-32: testb $8, %al
; CHECK-32: ret
define void @g32xl(i32 inreg %x) nounwind {
; CHECK-LINUX64-LABEL: g32xl:
; CHECK-LINUX64: # %bb.0:
; CHECK-LINUX64-NEXT: testb $8, %dil
; CHECK-LINUX64-NEXT: jne .LBB3_2
; CHECK-LINUX64-NEXT: # %bb.1: # %yes
; CHECK-LINUX64-NEXT: pushq %rax
; CHECK-LINUX64-NEXT: callq bar
; CHECK-LINUX64-NEXT: popq %rax
; CHECK-LINUX64-NEXT: .LBB3_2: # %no
; CHECK-LINUX64-NEXT: retq
;
; CHECK-WIN32-64-LABEL: g32xl:
; CHECK-WIN32-64: # %bb.0:
; CHECK-WIN32-64-NEXT: subq $40, %rsp
; CHECK-WIN32-64-NEXT: testb $8, %cl
; CHECK-WIN32-64-NEXT: jne .LBB3_2
; CHECK-WIN32-64-NEXT: # %bb.1: # %yes
; CHECK-WIN32-64-NEXT: callq bar
; CHECK-WIN32-64-NEXT: .LBB3_2: # %no
; CHECK-WIN32-64-NEXT: addq $40, %rsp
; CHECK-WIN32-64-NEXT: retq
;
; CHECK-X86-LABEL: g32xl:
; CHECK-X86: # %bb.0:
; CHECK-X86-NEXT: testb $8, %al
; CHECK-X86-NEXT: jne .LBB3_2
; CHECK-X86-NEXT: # %bb.1: # %yes
; CHECK-X86-NEXT: calll bar
; CHECK-X86-NEXT: .LBB3_2: # %no
; CHECK-X86-NEXT: retl
%t = and i32 %x, 8
%s = icmp eq i32 %t, 0
br i1 %s, label %yes, label %no
@ -70,13 +170,38 @@ yes:
no:
ret void
}
; CHECK-64-LABEL: g16xh:
; CHECK-64: btl $11
; CHECK-64: ret
; CHECK-32-LABEL: g16xh:
; CHECK-32: btl $11
; CHECK-32: ret
define void @g16xh(i16 inreg %x) nounwind {
; CHECK-LINUX64-LABEL: g16xh:
; CHECK-LINUX64: # %bb.0:
; CHECK-LINUX64-NEXT: btl $11, %edi
; CHECK-LINUX64-NEXT: jb .LBB4_2
; CHECK-LINUX64-NEXT: # %bb.1: # %yes
; CHECK-LINUX64-NEXT: pushq %rax
; CHECK-LINUX64-NEXT: callq bar
; CHECK-LINUX64-NEXT: popq %rax
; CHECK-LINUX64-NEXT: .LBB4_2: # %no
; CHECK-LINUX64-NEXT: retq
;
; CHECK-WIN32-64-LABEL: g16xh:
; CHECK-WIN32-64: # %bb.0:
; CHECK-WIN32-64-NEXT: subq $40, %rsp
; CHECK-WIN32-64-NEXT: btl $11, %ecx
; CHECK-WIN32-64-NEXT: jb .LBB4_2
; CHECK-WIN32-64-NEXT: # %bb.1: # %yes
; CHECK-WIN32-64-NEXT: callq bar
; CHECK-WIN32-64-NEXT: .LBB4_2: # %no
; CHECK-WIN32-64-NEXT: addq $40, %rsp
; CHECK-WIN32-64-NEXT: retq
;
; CHECK-X86-LABEL: g16xh:
; CHECK-X86: # %bb.0:
; CHECK-X86-NEXT: btl $11, %eax
; CHECK-X86-NEXT: jb .LBB4_2
; CHECK-X86-NEXT: # %bb.1: # %yes
; CHECK-X86-NEXT: calll bar
; CHECK-X86-NEXT: .LBB4_2: # %no
; CHECK-X86-NEXT: retl
%t = and i16 %x, 2048
%s = icmp eq i16 %t, 0
br i1 %s, label %yes, label %no
@ -87,13 +212,38 @@ yes:
no:
ret void
}
; CHECK-64-LABEL: g16xl:
; CHECK-64: testb $8, [[A0L]]
; CHECK-64: ret
; CHECK-32-LABEL: g16xl:
; CHECK-32: testb $8, %al
; CHECK-32: ret
define void @g16xl(i16 inreg %x) nounwind {
; CHECK-LINUX64-LABEL: g16xl:
; CHECK-LINUX64: # %bb.0:
; CHECK-LINUX64-NEXT: testb $8, %dil
; CHECK-LINUX64-NEXT: jne .LBB5_2
; CHECK-LINUX64-NEXT: # %bb.1: # %yes
; CHECK-LINUX64-NEXT: pushq %rax
; CHECK-LINUX64-NEXT: callq bar
; CHECK-LINUX64-NEXT: popq %rax
; CHECK-LINUX64-NEXT: .LBB5_2: # %no
; CHECK-LINUX64-NEXT: retq
;
; CHECK-WIN32-64-LABEL: g16xl:
; CHECK-WIN32-64: # %bb.0:
; CHECK-WIN32-64-NEXT: subq $40, %rsp
; CHECK-WIN32-64-NEXT: testb $8, %cl
; CHECK-WIN32-64-NEXT: jne .LBB5_2
; CHECK-WIN32-64-NEXT: # %bb.1: # %yes
; CHECK-WIN32-64-NEXT: callq bar
; CHECK-WIN32-64-NEXT: .LBB5_2: # %no
; CHECK-WIN32-64-NEXT: addq $40, %rsp
; CHECK-WIN32-64-NEXT: retq
;
; CHECK-X86-LABEL: g16xl:
; CHECK-X86: # %bb.0:
; CHECK-X86-NEXT: testb $8, %al
; CHECK-X86-NEXT: jne .LBB5_2
; CHECK-X86-NEXT: # %bb.1: # %yes
; CHECK-X86-NEXT: calll bar
; CHECK-X86-NEXT: .LBB5_2: # %no
; CHECK-X86-NEXT: retl
%t = and i16 %x, 8
%s = icmp eq i16 %t, 0
br i1 %s, label %yes, label %no
@ -104,13 +254,42 @@ yes:
no:
ret void
}
; CHECK-64-LABEL: g64x16:
; CHECK-64: testl $32896, %[[A0D:edi|ecx]]
; CHECK-64: ret
; CHECK-32-LABEL: g64x16:
; CHECK-32: testl $32896, %eax
; CHECK-32: ret
define void @g64x16(i64 inreg %x) nounwind {
; CHECK-LINUX64-LABEL: g64x16:
; CHECK-LINUX64: # %bb.0:
; CHECK-LINUX64-NEXT: testl $32896, %edi # imm = 0x8080
; CHECK-LINUX64-NEXT: je .LBB6_1
; CHECK-LINUX64-NEXT: # %bb.2: # %no
; CHECK-LINUX64-NEXT: retq
; CHECK-LINUX64-NEXT: .LBB6_1: # %yes
; CHECK-LINUX64-NEXT: pushq %rax
; CHECK-LINUX64-NEXT: callq bar
; CHECK-LINUX64-NEXT: popq %rax
; CHECK-LINUX64-NEXT: retq
;
; CHECK-WIN32-64-LABEL: g64x16:
; CHECK-WIN32-64: # %bb.0:
; CHECK-WIN32-64-NEXT: subq $40, %rsp
; CHECK-WIN32-64-NEXT: testl $32896, %ecx # imm = 0x8080
; CHECK-WIN32-64-NEXT: je .LBB6_1
; CHECK-WIN32-64-NEXT: # %bb.2: # %no
; CHECK-WIN32-64-NEXT: addq $40, %rsp
; CHECK-WIN32-64-NEXT: retq
; CHECK-WIN32-64-NEXT: .LBB6_1: # %yes
; CHECK-WIN32-64-NEXT: callq bar
; CHECK-WIN32-64-NEXT: addq $40, %rsp
; CHECK-WIN32-64-NEXT: retq
;
; CHECK-X86-LABEL: g64x16:
; CHECK-X86: # %bb.0:
; CHECK-X86-NEXT: testl $32896, %eax # imm = 0x8080
; CHECK-X86-NEXT: je .LBB6_1
; CHECK-X86-NEXT: # %bb.2: # %no
; CHECK-X86-NEXT: retl
; CHECK-X86-NEXT: .LBB6_1: # %yes
; CHECK-X86-NEXT: calll bar
; CHECK-X86-NEXT: retl
%t = and i64 %x, 32896
%s = icmp eq i64 %t, 0
br i1 %s, label %yes, label %no
@ -121,13 +300,40 @@ yes:
no:
ret void
}
; CHECK-64-LABEL: g64x16minsize:
; CHECK-64: testw $-32640, %[[A0W:di|cx]]
; CHECK-64: ret
; CHECK-32-LABEL: g64x16minsize:
; CHECK-32: testw $-32640, %ax
; CHECK-32: ret
define void @g64x16minsize(i64 inreg %x) nounwind minsize {
; CHECK-LINUX64-LABEL: g64x16minsize:
; CHECK-LINUX64: # %bb.0:
; CHECK-LINUX64-NEXT: testw $-32640, %di # imm = 0x8080
; CHECK-LINUX64-NEXT: je .LBB7_1
; CHECK-LINUX64-NEXT: # %bb.2: # %no
; CHECK-LINUX64-NEXT: retq
; CHECK-LINUX64-NEXT: .LBB7_1: # %yes
; CHECK-LINUX64-NEXT: pushq %rax
; CHECK-LINUX64-NEXT: callq bar
; CHECK-LINUX64-NEXT: popq %rax
; CHECK-LINUX64-NEXT: retq
;
; CHECK-WIN32-64-LABEL: g64x16minsize:
; CHECK-WIN32-64: # %bb.0:
; CHECK-WIN32-64-NEXT: subq $40, %rsp
; CHECK-WIN32-64-NEXT: testw $-32640, %cx # imm = 0x8080
; CHECK-WIN32-64-NEXT: jne .LBB7_2
; CHECK-WIN32-64-NEXT: # %bb.1: # %yes
; CHECK-WIN32-64-NEXT: callq bar
; CHECK-WIN32-64-NEXT: .LBB7_2: # %no
; CHECK-WIN32-64-NEXT: addq $40, %rsp
; CHECK-WIN32-64-NEXT: retq
;
; CHECK-X86-LABEL: g64x16minsize:
; CHECK-X86: # %bb.0:
; CHECK-X86-NEXT: testw $-32640, %ax # imm = 0x8080
; CHECK-X86-NEXT: je .LBB7_1
; CHECK-X86-NEXT: # %bb.2: # %no
; CHECK-X86-NEXT: retl
; CHECK-X86-NEXT: .LBB7_1: # %yes
; CHECK-X86-NEXT: calll bar
; CHECK-X86-NEXT: retl
%t = and i64 %x, 32896
%s = icmp eq i64 %t, 0
br i1 %s, label %yes, label %no
@ -138,13 +344,42 @@ yes:
no:
ret void
}
; CHECK-64-LABEL: g32x16:
; CHECK-64: testl $32896, %[[A0D]]
; CHECK-64: ret
; CHECK-32-LABEL: g32x16:
; CHECK-32: testl $32896, %eax
; CHECK-32: ret
define void @g32x16(i32 inreg %x) nounwind {
; CHECK-LINUX64-LABEL: g32x16:
; CHECK-LINUX64: # %bb.0:
; CHECK-LINUX64-NEXT: testl $32896, %edi # imm = 0x8080
; CHECK-LINUX64-NEXT: je .LBB8_1
; CHECK-LINUX64-NEXT: # %bb.2: # %no
; CHECK-LINUX64-NEXT: retq
; CHECK-LINUX64-NEXT: .LBB8_1: # %yes
; CHECK-LINUX64-NEXT: pushq %rax
; CHECK-LINUX64-NEXT: callq bar
; CHECK-LINUX64-NEXT: popq %rax
; CHECK-LINUX64-NEXT: retq
;
; CHECK-WIN32-64-LABEL: g32x16:
; CHECK-WIN32-64: # %bb.0:
; CHECK-WIN32-64-NEXT: subq $40, %rsp
; CHECK-WIN32-64-NEXT: testl $32896, %ecx # imm = 0x8080
; CHECK-WIN32-64-NEXT: je .LBB8_1
; CHECK-WIN32-64-NEXT: # %bb.2: # %no
; CHECK-WIN32-64-NEXT: addq $40, %rsp
; CHECK-WIN32-64-NEXT: retq
; CHECK-WIN32-64-NEXT: .LBB8_1: # %yes
; CHECK-WIN32-64-NEXT: callq bar
; CHECK-WIN32-64-NEXT: addq $40, %rsp
; CHECK-WIN32-64-NEXT: retq
;
; CHECK-X86-LABEL: g32x16:
; CHECK-X86: # %bb.0:
; CHECK-X86-NEXT: testl $32896, %eax # imm = 0x8080
; CHECK-X86-NEXT: je .LBB8_1
; CHECK-X86-NEXT: # %bb.2: # %no
; CHECK-X86-NEXT: retl
; CHECK-X86-NEXT: .LBB8_1: # %yes
; CHECK-X86-NEXT: calll bar
; CHECK-X86-NEXT: retl
%t = and i32 %x, 32896
%s = icmp eq i32 %t, 0
br i1 %s, label %yes, label %no
@ -155,13 +390,40 @@ yes:
no:
ret void
}
; CHECK-64-LABEL: g32x16minsize:
; CHECK-64: testw $-32640, %[[A0W]]
; CHECK-64: ret
; CHECK-32-LABEL: g32x16minsize:
; CHECK-32: testw $-32640, %ax
; CHECK-32: ret
define void @g32x16minsize(i32 inreg %x) nounwind minsize {
; CHECK-LINUX64-LABEL: g32x16minsize:
; CHECK-LINUX64: # %bb.0:
; CHECK-LINUX64-NEXT: testw $-32640, %di # imm = 0x8080
; CHECK-LINUX64-NEXT: je .LBB9_1
; CHECK-LINUX64-NEXT: # %bb.2: # %no
; CHECK-LINUX64-NEXT: retq
; CHECK-LINUX64-NEXT: .LBB9_1: # %yes
; CHECK-LINUX64-NEXT: pushq %rax
; CHECK-LINUX64-NEXT: callq bar
; CHECK-LINUX64-NEXT: popq %rax
; CHECK-LINUX64-NEXT: retq
;
; CHECK-WIN32-64-LABEL: g32x16minsize:
; CHECK-WIN32-64: # %bb.0:
; CHECK-WIN32-64-NEXT: subq $40, %rsp
; CHECK-WIN32-64-NEXT: testw $-32640, %cx # imm = 0x8080
; CHECK-WIN32-64-NEXT: jne .LBB9_2
; CHECK-WIN32-64-NEXT: # %bb.1: # %yes
; CHECK-WIN32-64-NEXT: callq bar
; CHECK-WIN32-64-NEXT: .LBB9_2: # %no
; CHECK-WIN32-64-NEXT: addq $40, %rsp
; CHECK-WIN32-64-NEXT: retq
;
; CHECK-X86-LABEL: g32x16minsize:
; CHECK-X86: # %bb.0:
; CHECK-X86-NEXT: testw $-32640, %ax # imm = 0x8080
; CHECK-X86-NEXT: je .LBB9_1
; CHECK-X86-NEXT: # %bb.2: # %no
; CHECK-X86-NEXT: retl
; CHECK-X86-NEXT: .LBB9_1: # %yes
; CHECK-X86-NEXT: calll bar
; CHECK-X86-NEXT: retl
%t = and i32 %x, 32896
%s = icmp eq i32 %t, 0
br i1 %s, label %yes, label %no
@ -172,13 +434,42 @@ yes:
no:
ret void
}
; CHECK-64-LABEL: g64x32:
; CHECK-64: testl $268468352, %[[A0D]]
; CHECK-64: ret
; CHECK-32-LABEL: g64x32:
; CHECK-32: testl $268468352, %eax
; CHECK-32: ret
define void @g64x32(i64 inreg %x) nounwind {
; CHECK-LINUX64-LABEL: g64x32:
; CHECK-LINUX64: # %bb.0:
; CHECK-LINUX64-NEXT: testl $268468352, %edi # imm = 0x10008080
; CHECK-LINUX64-NEXT: je .LBB10_1
; CHECK-LINUX64-NEXT: # %bb.2: # %no
; CHECK-LINUX64-NEXT: retq
; CHECK-LINUX64-NEXT: .LBB10_1: # %yes
; CHECK-LINUX64-NEXT: pushq %rax
; CHECK-LINUX64-NEXT: callq bar
; CHECK-LINUX64-NEXT: popq %rax
; CHECK-LINUX64-NEXT: retq
;
; CHECK-WIN32-64-LABEL: g64x32:
; CHECK-WIN32-64: # %bb.0:
; CHECK-WIN32-64-NEXT: subq $40, %rsp
; CHECK-WIN32-64-NEXT: testl $268468352, %ecx # imm = 0x10008080
; CHECK-WIN32-64-NEXT: je .LBB10_1
; CHECK-WIN32-64-NEXT: # %bb.2: # %no
; CHECK-WIN32-64-NEXT: addq $40, %rsp
; CHECK-WIN32-64-NEXT: retq
; CHECK-WIN32-64-NEXT: .LBB10_1: # %yes
; CHECK-WIN32-64-NEXT: callq bar
; CHECK-WIN32-64-NEXT: addq $40, %rsp
; CHECK-WIN32-64-NEXT: retq
;
; CHECK-X86-LABEL: g64x32:
; CHECK-X86: # %bb.0:
; CHECK-X86-NEXT: testl $268468352, %eax # imm = 0x10008080
; CHECK-X86-NEXT: je .LBB10_1
; CHECK-X86-NEXT: # %bb.2: # %no
; CHECK-X86-NEXT: retl
; CHECK-X86-NEXT: .LBB10_1: # %yes
; CHECK-X86-NEXT: calll bar
; CHECK-X86-NEXT: retl
%t = and i64 %x, 268468352
%s = icmp eq i64 %t, 0
br i1 %s, label %yes, label %no