25 lines · plain
1; Test that a rosbg conversion involving a sign extend operation rotates with2; the right number of steps.3;4; RUN: llc < %s -mtriple=s390x-linux-gnu -O0 | FileCheck %s5 6@g_136 = external global i16, align 27@g_999 = external global i32, align 48 9; Function Attrs: nounwind10define void @main() {11 %1 = load i32, ptr undef, align 412 store i16 -28141, ptr @g_136, align 213 %2 = load i32, ptr undef, align 414 %3 = xor i32 -28141, %215 %4 = xor i32 %1, %316 %5 = sext i32 %4 to i6417 %6 = icmp sgt i64 0, %518 %7 = zext i1 %6 to i3219 %8 = load i32, ptr @g_999, align 420 %9 = or i32 %8, %721; CHECK: rosbg {{%r[0-9]+}}, {{%r[0-9]+}}, 63, 63, 3322 store i32 %9, ptr @g_999, align 423 ret void24}25