97 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -run-pass=amdgpu-postlegalizer-combiner -verify-machineinstrs -o - %s | FileCheck %s3 4---5name: test_fcanonicalize_fcanonicalize_s326tracksRegLiveness: true7legalized: true8body: |9 bb.0:10 liveins: $vgpr011 ; CHECK-LABEL: name: test_fcanonicalize_fcanonicalize_s3212 ; CHECK: liveins: $vgpr013 ; CHECK-NEXT: {{ $}}14 ; CHECK-NEXT: %src0:_(s32) = COPY $vgpr015 ; CHECK-NEXT: %fcanonicalize0:_(s32) = G_FCANONICALIZE %src016 ; CHECK-NEXT: %ptr:_(p1) = G_IMPLICIT_DEF17 ; CHECK-NEXT: G_STORE %fcanonicalize0(s32), %ptr(p1) :: (store (s32), addrspace 1)18 %src0:_(s32) = COPY $vgpr019 %fcanonicalize0:_(s32) = G_FCANONICALIZE %src020 %fcanonicalize1:_(s32) = G_FCANONICALIZE %fcanonicalize021 %ptr:_(p1) = G_IMPLICIT_DEF22 G_STORE %fcanonicalize1, %ptr :: (store (s32), addrspace 1, align 4)23...24 25---26name: test_fcanonicalize_fcanonicalize_fcanonicalize_s3227tracksRegLiveness: true28legalized: true29body: |30 bb.0:31 liveins: $vgpr032 ; CHECK-LABEL: name: test_fcanonicalize_fcanonicalize_fcanonicalize_s3233 ; CHECK: liveins: $vgpr034 ; CHECK-NEXT: {{ $}}35 ; CHECK-NEXT: %src0:_(s32) = COPY $vgpr036 ; CHECK-NEXT: %fcanonicalize0:_(s32) = G_FCANONICALIZE %src037 ; CHECK-NEXT: %ptr:_(p1) = G_IMPLICIT_DEF38 ; CHECK-NEXT: G_STORE %fcanonicalize0(s32), %ptr(p1) :: (store (s32), addrspace 1)39 %src0:_(s32) = COPY $vgpr040 %fcanonicalize0:_(s32) = G_FCANONICALIZE %src041 %fcanonicalize1:_(s32) = G_FCANONICALIZE %fcanonicalize042 %fcanonicalize2:_(s32) = G_FCANONICALIZE %fcanonicalize143 %ptr:_(p1) = G_IMPLICIT_DEF44 G_STORE %fcanonicalize2, %ptr :: (store (s32), addrspace 1, align 4)45...46 47---48name: test_fcanonicalize_fcanonicalize_s32_multi_use49tracksRegLiveness: true50legalized: true51body: |52 bb.0:53 liveins: $vgpr054 55 ; CHECK-LABEL: name: test_fcanonicalize_fcanonicalize_s32_multi_use56 ; CHECK: liveins: $vgpr057 ; CHECK-NEXT: {{ $}}58 ; CHECK-NEXT: %src0:_(s32) = COPY $vgpr059 ; CHECK-NEXT: %ptr:_(p1) = G_IMPLICIT_DEF60 ; CHECK-NEXT: %fcanonicalize0:_(s32) = G_FCANONICALIZE %src061 ; CHECK-NEXT: G_STORE %fcanonicalize0(s32), %ptr(p1) :: (volatile store (s32), addrspace 1)62 ; CHECK-NEXT: G_STORE %fcanonicalize0(s32), %ptr(p1) :: (volatile store (s32), addrspace 1)63 ; CHECK-NEXT: G_STORE %fcanonicalize0(s32), %ptr(p1) :: (volatile store (s32), addrspace 1)64 %src0:_(s32) = COPY $vgpr065 %ptr:_(p1) = G_IMPLICIT_DEF66 67 %fcanonicalize0:_(s32) = G_FCANONICALIZE %src068 G_STORE %fcanonicalize0, %ptr :: (volatile store (s32), addrspace 1, align 4)69 70 %fcanonicalize1:_(s32) = G_FCANONICALIZE %fcanonicalize071 G_STORE %fcanonicalize1, %ptr :: (volatile store (s32), addrspace 1, align 4)72 73 G_STORE %fcanonicalize1, %ptr :: (volatile store (s32), addrspace 1, align 4)74...75 76---77name: test_fcanonicalize_copy_fcanonicalize_s3278tracksRegLiveness: true79legalized: true80body: |81 bb.0:82 liveins: $vgpr083 ; CHECK-LABEL: name: test_fcanonicalize_copy_fcanonicalize_s3284 ; CHECK: liveins: $vgpr085 ; CHECK-NEXT: {{ $}}86 ; CHECK-NEXT: %src0:_(s32) = COPY $vgpr087 ; CHECK-NEXT: %fcanonicalize0:_(s32) = G_FCANONICALIZE %src088 ; CHECK-NEXT: %ptr:_(p1) = G_IMPLICIT_DEF89 ; CHECK-NEXT: G_STORE %fcanonicalize0(s32), %ptr(p1) :: (store (s32), addrspace 1)90 %src0:_(s32) = COPY $vgpr091 %fcanonicalize0:_(s32) = G_FCANONICALIZE %src092 %copy:_(s32) = COPY %fcanonicalize093 %fcanonicalize1:_(s32) = G_FCANONICALIZE %copy94 %ptr:_(p1) = G_IMPLICIT_DEF95 G_STORE %fcanonicalize1, %ptr :: (store (s32), addrspace 1, align 4)96...97