Home | History | Annotate | Download | only in SystemZ
      1 ; That that we don't try to use z196 instructions on z10 for TMHH and TMHL.
      2 ;
      3 ; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z10 -O0 | FileCheck %s
      4 
      5 @g = global i32 0
      6 
      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
     20 
     21 store:
     22   store i32 1, i32 *@g
     23   br label %exit
     24 
     25 exit:
     26   ret void
     27 }
     28 
     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
     42 
     43 store:
     44   store i32 1, i32 *@g
     45   br label %exit
     46 
     47 exit:
     48   ret void
     49 }
     50