# 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 1)
    ; X32: [[TRUNC1:%[0-9]+]]:_(s8) = G_TRUNC [[DEF]](s32)
    ; X32: G_STORE [[TRUNC1]](s8), [[DEF1]](p0) :: (store 1)
    ; X32: [[TRUNC2:%[0-9]+]]:_(s16) = G_TRUNC [[DEF]](s32)
    ; X32: G_STORE [[TRUNC2]](s16), [[DEF1]](p0) :: (store 2)
    ; 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 1)
    ; X64: [[TRUNC2:%[0-9]+]]:_(s16) = G_TRUNC [[DEF]](s32)
    ; X64: G_STORE [[TRUNC2]](s16), [[DEF1]](p0) :: (store 2)
    ; 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 1)

    %3(s16) = G_TRUNC %0(s32)
    G_STORE %3, %4 :: (store 2)
    RET 0

...
