1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; RUN: llc -mtriple=aarch64-unknown-linux-gnu < %s | FileCheck %s 3 4define void @test(i8 %arg) nounwind { 5; CHECK-LABEL: test: 6; CHECK: // %bb.0: 7; CHECK-NEXT: str x30, [sp, #-16]! // 8-byte Folded Spill 8; CHECK-NEXT: and w9, w0, #0xff 9; CHECK-NEXT: mov w8, #1 10; CHECK-NEXT: cmp w9, #1 11; CHECK-NEXT: cset w0, ne 12; CHECK-NEXT: strb w0, [sp, #12] 13; CHECK-NEXT: cbz w8, .LBB0_2 14; CHECK-NEXT: // %bb.1: // %do_call 15; CHECK-NEXT: bl unknown 16; CHECK-NEXT: .LBB0_2: // %common.ret 17; CHECK-NEXT: ldr x30, [sp], #16 // 8-byte Folded Reload 18; CHECK-NEXT: ret 19 %tmp = alloca i8 20 %cmp1 = icmp ne i8 %arg, 1 21 %zext = zext i1 %cmp1 to i8 22 store i8 %zext, ptr %tmp 23 %zext2 = load i8, ptr %tmp 24 %cmp2 = icmp eq i8 %zext2, 3 25 br i1 %cmp2, label %exit, label %do_call 26 27do_call: 28 call void @unknown(i8 %zext2) 29 ret void 30 31exit: 32 ret void 33} 34 35declare void @unknown(i8) 36