Skip to content

Commit 21d8f66

Browse files
committed
[X86] Add test caes for pr46585. NFC
1 parent 11a3f04 commit 21d8f66

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

llvm/test/CodeGen/X86/pr46585.ll

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2+
; RUN: llc < %s -mtriple=x86_64-apple-macosx | FileCheck %s
3+
4+
@global = external local_unnamed_addr global i8
5+
@global.1 = external local_unnamed_addr global i64
6+
7+
define void @spam() local_unnamed_addr {
8+
; CHECK-LABEL: spam:
9+
; CHECK: ## %bb.0: ## %bb
10+
; CHECK-NEXT: pmovmskb %xmm0, %eax
11+
; CHECK-NEXT: testb %al, %al
12+
; CHECK-NEXT: je LBB0_2
13+
; CHECK-NEXT: ## %bb.1: ## %bb9
14+
; CHECK-NEXT: movq _global.1@{{.*}}(%rip), %rax
15+
; CHECK-NEXT: movq $1, (%rax)
16+
; CHECK-NEXT: LBB0_2: ## %bb8
17+
; CHECK-NEXT: retq
18+
bb:
19+
%tmp = load i8, i8* @global, align 1
20+
%tmp1 = and i8 %tmp, 1
21+
%tmp2 = insertelement <8 x i8> undef, i8 %tmp1, i32 0
22+
%tmp3 = ashr <8 x i8> %tmp2, <i8 7, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0>
23+
%tmp4 = shufflevector <8 x i8> %tmp3, <8 x i8> undef, <8 x i32> zeroinitializer
24+
%tmp5 = icmp slt <8 x i8> %tmp4, zeroinitializer
25+
%tmp6 = bitcast <8 x i1> %tmp5 to i8
26+
%tmp7 = icmp eq i8 %tmp6, 0
27+
br i1 %tmp7, label %bb8, label %bb9
28+
29+
bb8: ; preds = %bb9, %bb
30+
ret void
31+
32+
bb9: ; preds = %bb
33+
store i64 1, i64* @global.1, align 8
34+
br label %bb8
35+
}

0 commit comments

Comments
 (0)