# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py # RUN: llc -O0 -mtriple=i386-linux-gnu -run-pass=legalizer %s -o - | FileCheck %s --check-prefix=X32 # RUN: llc -O0 -mtriple=x86_64-linux-gnu -run-pass=legalizer %s -o - | FileCheck %s --check-prefix=X64 --- | define void @trunc_check() { ret void } ... --- name: trunc_check registers: - { id: 0, class: _ } - { id: 1, class: _ } - { id: 2, class: _ } - { id: 3, class: _ } body: | bb.1 (%ir-block.0): ; X32-LABEL: name: trunc_check ; X32: [[DEF:%[0-9]+]]:_(s32) = IMPLICIT_DEF ; X32: [[DEF1:%[0-9]+]]:_(p0) = G_IMPLICIT_DEF ; X32: [[C:%[0-9]+]]:_(s8) = G_CONSTANT i8 1 ; X32: [[TRUNC:%[0-9]+]]:_(s8) = G_TRUNC [[DEF]](s32) ; X32: [[AND:%[0-9]+]]:_(s8) = G_AND [[TRUNC]], [[C]] ; X32: G_STORE [[AND]](s8), [[DEF1]](p0) :: (store (s1)) ; X32: [[TRUNC1:%[0-9]+]]:_(s8) = G_TRUNC [[DEF]](s32) ; X32: G_STORE [[TRUNC1]](s8), [[DEF1]](p0) :: (store (s8)) ; X32: [[TRUNC2:%[0-9]+]]:_(s16) = G_TRUNC [[DEF]](s32) ; X32: G_STORE [[TRUNC2]](s16), [[DEF1]](p0) :: (store (s16)) ; X32: RET 0 ; X64-LABEL: name: trunc_check ; X64: [[DEF:%[0-9]+]]:_(s32) = IMPLICIT_DEF ; X64: [[DEF1:%[0-9]+]]:_(p0) = G_IMPLICIT_DEF ; X64: [[C:%[0-9]+]]:_(s8) = G_CONSTANT i8 1 ; X64: [[TRUNC:%[0-9]+]]:_(s8) = G_TRUNC [[DEF]](s32) ; X64: [[AND:%[0-9]+]]:_(s8) = G_AND [[TRUNC]], [[C]] ; X64: G_STORE [[AND]](s8), [[DEF1]](p0) :: (store (s1)) ; X64: [[TRUNC1:%[0-9]+]]:_(s8) = G_TRUNC [[DEF]](s32) ; X64: G_STORE [[TRUNC1]](s8), [[DEF1]](p0) :: (store (s8)) ; X64: [[TRUNC2:%[0-9]+]]:_(s16) = G_TRUNC [[DEF]](s32) ; X64: G_STORE [[TRUNC2]](s16), [[DEF1]](p0) :: (store (s16)) ; X64: RET 0 %0(s32) = IMPLICIT_DEF %1(s1) = G_TRUNC %0(s32) %4:_(p0) = G_IMPLICIT_DEF G_STORE %1, %4 :: (store (s1)) %2(s8) = G_TRUNC %0(s32) G_STORE %2, %4 :: (store (s8)) %3(s16) = G_TRUNC %0(s32) G_STORE %3, %4 :: (store (s16)) RET 0 ...