[X86] combineTargetShuffle - commute VPERMV3 shuffles so any load is on the RHS
[llvm-project.git] / llvm / test / CodeGen / SystemZ / int-cmp-49.ll
blob9b7259eaf42ed217dfe24bee5c67ce67bf05c53d
1 ; That that we don't try to use z196 instructions on z10 for TMHH and TMHL.
3 ; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z10 -O0 | FileCheck %s
5 @g = global i32 0
7 ; Check the lowest useful TMHL value.
8 define void @f1(i64 %a) {
9 ; CHECK-LABEL: f1:
10 ; CHECK-NOT: risblg
11 ; CHECK-NOT: risbhg
12 ; CHECK: tmhl {{%r[0-5]}}, 1
13 ; CHECK-NOT: risblg
14 ; CHECK-NOT: risbhg
15 ; CHECK: br %r14
16 entry:
17   %and = and i64 %a, 4294967296
18   %cmp = icmp eq i64 %and, 0
19   br i1 %cmp, label %exit, label %store
21 store:
22   store i32 1, ptr@g
23   br label %exit
25 exit:
26   ret void
29 ; Check the lowest useful TMHH value.
30 define void @f2(i64 %a) {
31 ; CHECK-LABEL: f2:
32 ; CHECK-NOT: risblg
33 ; CHECK-NOT: risbhg
34 ; CHECK: tmhh {{%r[0-5]}}, 1
35 ; CHECK-NOT: risblg
36 ; CHECK-NOT: risbhg
37 ; CHECK: br %r14
38 entry:
39   %and = and i64 %a, 281474976710656
40   %cmp = icmp ne i64 %and, 0
41   br i1 %cmp, label %exit, label %store
43 store:
44   store i32 1, ptr@g
45   br label %exit
47 exit:
48   ret void