1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py 2# RUN: llc -mtriple=x86_64-linux-gnu -run-pass=legalizer %s -o - | FileCheck %s --check-prefix=X64 3# RUN: llc -mtriple=i386-linux-gnu -run-pass=legalizer %s -o - | FileCheck %s --check-prefix=X32 4 5--- 6name: test_implicit_def 7registers: 8# 9body: | 10 bb.0.entry: 11 liveins: 12 ; X64-LABEL: name: test_implicit_def 13 ; X64: [[DEF:%[0-9]+]]:_(p0) = G_IMPLICIT_DEF 14 ; X64-NEXT: [[C:%[0-9]+]]:_(s8) = G_CONSTANT i8 0 15 ; X64-NEXT: G_STORE [[C]](s8), [[DEF]](p0) :: (store (s1)) 16 ; X64-NEXT: [[DEF1:%[0-9]+]]:_(s8) = G_IMPLICIT_DEF 17 ; X64-NEXT: G_STORE [[DEF1]](s8), [[DEF]](p0) :: (store (s8)) 18 ; X64-NEXT: [[DEF2:%[0-9]+]]:_(s16) = G_IMPLICIT_DEF 19 ; X64-NEXT: G_STORE [[DEF2]](s16), [[DEF]](p0) :: (store (s16)) 20 ; X64-NEXT: [[DEF3:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF 21 ; X64-NEXT: G_STORE [[DEF3]](s32), [[DEF]](p0) :: (store (s32)) 22 ; X64-NEXT: [[DEF4:%[0-9]+]]:_(s64) = G_IMPLICIT_DEF 23 ; X64-NEXT: G_STORE [[DEF4]](s64), [[DEF]](p0) :: (store (s64)) 24 ; X32-LABEL: name: test_implicit_def 25 ; X32: [[DEF:%[0-9]+]]:_(p0) = G_IMPLICIT_DEF 26 ; X32-NEXT: [[C:%[0-9]+]]:_(s8) = G_CONSTANT i8 0 27 ; X32-NEXT: G_STORE [[C]](s8), [[DEF]](p0) :: (store (s1)) 28 ; X32-NEXT: [[DEF1:%[0-9]+]]:_(s8) = G_IMPLICIT_DEF 29 ; X32-NEXT: G_STORE [[DEF1]](s8), [[DEF]](p0) :: (store (s8)) 30 ; X32-NEXT: [[DEF2:%[0-9]+]]:_(s16) = G_IMPLICIT_DEF 31 ; X32-NEXT: G_STORE [[DEF2]](s16), [[DEF]](p0) :: (store (s16)) 32 ; X32-NEXT: [[DEF3:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF 33 ; X32-NEXT: G_STORE [[DEF3]](s32), [[DEF]](p0) :: (store (s32)) 34 ; X32-NEXT: [[DEF4:%[0-9]+]]:_(s64) = G_IMPLICIT_DEF 35 ; X32-NEXT: [[UV:%[0-9]+]]:_(s32), [[UV1:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[DEF4]](s64) 36 ; X32-NEXT: G_STORE [[UV]](s32), [[DEF]](p0) :: (store (s32), align 8) 37 ; X32-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 4 38 ; X32-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[DEF]], [[C1]](s32) 39 ; X32-NEXT: G_STORE [[UV1]](s32), [[PTR_ADD]](p0) :: (store (s32) into unknown-address + 4) 40 %5:_(p0) = G_IMPLICIT_DEF 41 %0:_(s1) = G_IMPLICIT_DEF 42 G_STORE %0, %5 ::(store (s1)) 43 %1:_(s8) = G_IMPLICIT_DEF 44 G_STORE %1, %5 ::(store (s8)) 45 %2:_(s16) = G_IMPLICIT_DEF 46 G_STORE %2, %5 ::(store (s16)) 47 %3:_(s32) = G_IMPLICIT_DEF 48 G_STORE %3, %5 ::(store (s32)) 49 %4:_(s64) = G_IMPLICIT_DEF 50 G_STORE %4, %5 ::(store (s64)) 51... 52