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. 8define 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 16entry: 17 %and = and i64 %a, 4294967296 18 %cmp = icmp eq i64 %and, 0 19 br i1 %cmp, label %exit, label %store 20 21store: 22 store i32 1, i32 *@g 23 br label %exit 24 25exit: 26 ret void 27} 28 29; Check the lowest useful TMHH value. 30define 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 38entry: 39 %and = and i64 %a, 281474976710656 40 %cmp = icmp ne i64 %and, 0 41 br i1 %cmp, label %exit, label %store 42 43store: 44 store i32 1, i32 *@g 45 br label %exit 46 47exit: 48 ret void 49} 50