| # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py |
| # RUN: llc -mtriple=i386-linux-gnu -run-pass=legalizer %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=X32 |
| # RUN: llc -mtriple=x86_64-linux-gnu -run-pass=legalizer %s -o - | FileCheck %s --check-prefix=ALL --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 1) |
| ; X32: [[TRUNC1:%[0-9]+]]:_(s8) = G_TRUNC [[DEF]](s32) |
| ; X32: G_STORE [[TRUNC1]](s8), [[DEF1]](p0) :: (store 8) |
| ; X32: [[TRUNC2:%[0-9]+]]:_(s16) = G_TRUNC [[DEF]](s32) |
| ; X32: G_STORE [[TRUNC2]](s16), [[DEF1]](p0) :: (store 16) |
| ; 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 1) |
| ; X64: [[TRUNC1:%[0-9]+]]:_(s8) = G_TRUNC [[DEF]](s32) |
| ; X64: G_STORE [[TRUNC1]](s8), [[DEF1]](p0) :: (store 8) |
| ; X64: [[TRUNC2:%[0-9]+]]:_(s16) = G_TRUNC [[DEF]](s32) |
| ; X64: G_STORE [[TRUNC2]](s16), [[DEF1]](p0) :: (store 16) |
| ; X64: RET 0 |
| %0(s32) = IMPLICIT_DEF |
| %1(s1) = G_TRUNC %0(s32) |
| %4:_(p0) = G_IMPLICIT_DEF |
| G_STORE %1, %4 :: (store 1) |
| |
| %2(s8) = G_TRUNC %0(s32) |
| G_STORE %2, %4 :: (store 8) |
| |
| %3(s16) = G_TRUNC %0(s32) |
| G_STORE %3, %4 :: (store 16) |
| RET 0 |
| |
| ... |