; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2 ; RUN: llc -mtriple=m68k < %s | FileCheck %s define void @sext_inreg_i1_to_i8(i1 %val, ptr %ptr) { ; CHECK-LABEL: sext_inreg_i1_to_i8: ; CHECK: .cfi_startproc ; CHECK-NEXT: ; %bb.0: ; %entry ; CHECK-NEXT: move.b (7,%sp), %d0 ; CHECK-NEXT: and.b #1, %d0 ; CHECK-NEXT: neg.b %d0 ; CHECK-NEXT: move.l (8,%sp), %a0 ; CHECK-NEXT: move.b %d0, (%a0) ; CHECK-NEXT: rts entry: %cond = select i1 %val, i8 -1, i8 0 store i8 %cond, ptr %ptr ret void } define void @sext_inreg_i1_to_i16(i1 %val, ptr %ptr) { ; CHECK-LABEL: sext_inreg_i1_to_i16: ; CHECK: .cfi_startproc ; CHECK-NEXT: ; %bb.0: ; %entry ; CHECK-NEXT: move.b (7,%sp), %d0 ; CHECK-NEXT: and.l #255, %d0 ; CHECK-NEXT: and.w #1, %d0 ; CHECK-NEXT: neg.w %d0 ; CHECK-NEXT: move.l (8,%sp), %a0 ; CHECK-NEXT: move.w %d0, (%a0) ; CHECK-NEXT: rts entry: %cond = select i1 %val, i16 -1, i16 0 store i16 %cond, ptr %ptr ret void } define void @sext_inreg_i1_to_i32(i1 %val, ptr %ptr) { ; CHECK-LABEL: sext_inreg_i1_to_i32: ; CHECK: .cfi_startproc ; CHECK-NEXT: ; %bb.0: ; %entry ; CHECK-NEXT: move.b (7,%sp), %d0 ; CHECK-NEXT: and.l #255, %d0 ; CHECK-NEXT: and.l #1, %d0 ; CHECK-NEXT: neg.l %d0 ; CHECK-NEXT: move.l (8,%sp), %a0 ; CHECK-NEXT: move.l %d0, (%a0) ; CHECK-NEXT: rts entry: %cond = select i1 %val, i32 -1, i32 0 store i32 %cond, ptr %ptr ret void }