brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.4 KiB · 4e63997 Raw
145 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2; RUN: llc -mtriple=aarch64-- -verify-machineinstrs -global-isel -stop-after=irtranslator -o - %s | FileCheck %s3 4define float @test_minnum(float %x, float %y) {5  ; CHECK-LABEL: name: test_minnum6  ; CHECK: bb.1 (%ir-block.0):7  ; CHECK:   liveins: $s0, $s18  ; CHECK:   [[COPY:%[0-9]+]]:_(s32) = COPY $s09  ; CHECK:   [[COPY1:%[0-9]+]]:_(s32) = COPY $s110  ; CHECK:   [[FMINNUM:%[0-9]+]]:_(s32) = G_FMINNUM [[COPY]], [[COPY1]]11  ; CHECK:   $s0 = COPY [[FMINNUM]](s32)12  ; CHECK:   RET_ReallyLR implicit $s013  %val = call float @llvm.minnum.f32(float %x, float %y)14  ret float %val15}16 17define float @test_minnum_nnan(float %x, float %y) {18  ; CHECK-LABEL: name: test_minnum_nnan19  ; CHECK: bb.1 (%ir-block.0):20  ; CHECK:   liveins: $s0, $s121  ; CHECK:   [[COPY:%[0-9]+]]:_(s32) = COPY $s022  ; CHECK:   [[COPY1:%[0-9]+]]:_(s32) = COPY $s123  ; CHECK:   %2:_(s32) = nnan G_FMINNUM [[COPY]], [[COPY1]]24  ; CHECK:   $s0 = COPY %2(s32)25  ; CHECK:   RET_ReallyLR implicit $s026  %val = call nnan float @llvm.minnum.f32(float %x, float %y)27  ret float %val28}29 30define float @test_maxnum(float %x, float %y) {31  ; CHECK-LABEL: name: test_maxnum32  ; CHECK: bb.1 (%ir-block.0):33  ; CHECK:   liveins: $s0, $s134  ; CHECK:   [[COPY:%[0-9]+]]:_(s32) = COPY $s035  ; CHECK:   [[COPY1:%[0-9]+]]:_(s32) = COPY $s136  ; CHECK:   [[FMAXNUM:%[0-9]+]]:_(s32) = G_FMAXNUM [[COPY]], [[COPY1]]37  ; CHECK:   $s0 = COPY [[FMAXNUM]](s32)38  ; CHECK:   RET_ReallyLR implicit $s039  %val = call float @llvm.maxnum.f32(float %x, float %y)40  ret float %val41}42 43define float @test_minimum(float %x, float %y) {44  ; CHECK-LABEL: name: test_minimum45  ; CHECK: bb.1 (%ir-block.0):46  ; CHECK:   liveins: $s0, $s147  ; CHECK:   [[COPY:%[0-9]+]]:_(s32) = COPY $s048  ; CHECK:   [[COPY1:%[0-9]+]]:_(s32) = COPY $s149  ; CHECK:   [[FMINIMUM:%[0-9]+]]:_(s32) = G_FMINIMUM [[COPY]], [[COPY1]]50  ; CHECK:   $s0 = COPY [[FMINIMUM]](s32)51  ; CHECK:   RET_ReallyLR implicit $s052  %val = call float @llvm.minimum.f32(float %x, float %y)53  ret float %val54}55 56define float @test_minimum_nnan(float %x, float %y) {57  ; CHECK-LABEL: name: test_minimum_nnan58  ; CHECK: bb.1 (%ir-block.0):59  ; CHECK:   liveins: $s0, $s160  ; CHECK:   [[COPY:%[0-9]+]]:_(s32) = COPY $s061  ; CHECK:   [[COPY1:%[0-9]+]]:_(s32) = COPY $s162  ; CHECK:   %2:_(s32) = nnan G_FMINIMUM [[COPY]], [[COPY1]]63  ; CHECK:   $s0 = COPY %2(s32)64  ; CHECK:   RET_ReallyLR implicit $s065  %val = call nnan float @llvm.minimum.f32(float %x, float %y)66  ret float %val67}68 69define float @test_maximum(float %x, float %y) {70  ; CHECK-LABEL: name: test_maximum71  ; CHECK: bb.1 (%ir-block.0):72  ; CHECK:   liveins: $s0, $s173  ; CHECK:   [[COPY:%[0-9]+]]:_(s32) = COPY $s074  ; CHECK:   [[COPY1:%[0-9]+]]:_(s32) = COPY $s175  ; CHECK:   [[FMAXIMUM:%[0-9]+]]:_(s32) = G_FMAXIMUM [[COPY]], [[COPY1]]76  ; CHECK:   $s0 = COPY [[FMAXIMUM]](s32)77  ; CHECK:   RET_ReallyLR implicit $s078  %val = call float @llvm.maximum.f32(float %x, float %y)79  ret float %val80}81 82define float @test_minimumnum(float %x, float %y) {83  ; CHECK-LABEL: name: test_minimumnum84  ; CHECK: bb.1 (%ir-block.0):85  ; CHECK-NEXT:   liveins: $s0, $s186  ; CHECK-NEXT: {{  $}}87  ; CHECK-NEXT:   [[COPY:%[0-9]+]]:_(s32) = COPY $s088  ; CHECK-NEXT:   [[COPY1:%[0-9]+]]:_(s32) = COPY $s189  ; CHECK-NEXT:   [[FMINIMUMNUM:%[0-9]+]]:_(s32) = G_FMINIMUMNUM [[COPY]], [[COPY1]]90  ; CHECK-NEXT:   $s0 = COPY [[FMINIMUMNUM]](s32)91  ; CHECK-NEXT:   RET_ReallyLR implicit $s092  %val = call float @llvm.minimumnum.f32(float %x, float %y)93  ret float %val94}95 96define float @test_minimumnum_nnan(float %x, float %y) {97  ; CHECK-LABEL: name: test_minimumnum_nnan98  ; CHECK: bb.1 (%ir-block.0):99  ; CHECK-NEXT:   liveins: $s0, $s1100  ; CHECK-NEXT: {{  $}}101  ; CHECK-NEXT:   [[COPY:%[0-9]+]]:_(s32) = COPY $s0102  ; CHECK-NEXT:   [[COPY1:%[0-9]+]]:_(s32) = COPY $s1103  ; CHECK-NEXT:   [[FMINIMUMNUM:%[0-9]+]]:_(s32) = nnan G_FMINIMUMNUM [[COPY]], [[COPY1]]104  ; CHECK-NEXT:   $s0 = COPY [[FMINIMUMNUM]](s32)105  ; CHECK-NEXT:   RET_ReallyLR implicit $s0106  %val = call nnan float @llvm.minimumnum.f32(float %x, float %y)107  ret float %val108}109 110define float @test_maximumnum(float %x, float %y) {111  ; CHECK-LABEL: name: test_maximumnum112  ; CHECK: bb.1 (%ir-block.0):113  ; CHECK-NEXT:   liveins: $s0, $s1114  ; CHECK-NEXT: {{  $}}115  ; CHECK-NEXT:   [[COPY:%[0-9]+]]:_(s32) = COPY $s0116  ; CHECK-NEXT:   [[COPY1:%[0-9]+]]:_(s32) = COPY $s1117  ; CHECK-NEXT:   [[FMAXIMUMNUM:%[0-9]+]]:_(s32) = G_FMAXIMUMNUM [[COPY]], [[COPY1]]118  ; CHECK-NEXT:   $s0 = COPY [[FMAXIMUMNUM]](s32)119  ; CHECK-NEXT:   RET_ReallyLR implicit $s0120  %val = call float @llvm.maximumnum.f32(float %x, float %y)121  ret float %val122}123 124define float @test_maximumnum_nnan(float %x, float %y) {125  ; CHECK-LABEL: name: test_maximumnum_nnan126  ; CHECK: bb.1 (%ir-block.0):127  ; CHECK-NEXT:   liveins: $s0, $s1128  ; CHECK-NEXT: {{  $}}129  ; CHECK-NEXT:   [[COPY:%[0-9]+]]:_(s32) = COPY $s0130  ; CHECK-NEXT:   [[COPY1:%[0-9]+]]:_(s32) = COPY $s1131  ; CHECK-NEXT:   [[FMAXIMUMNUM:%[0-9]+]]:_(s32) = nnan G_FMAXIMUMNUM [[COPY]], [[COPY1]]132  ; CHECK-NEXT:   $s0 = COPY [[FMAXIMUMNUM]](s32)133  ; CHECK-NEXT:   RET_ReallyLR implicit $s0134  %val = call nnan float @llvm.maximumnum.f32(float %x, float %y)135  ret float %val136}137 138declare float @llvm.minnum.f32(float, float) #0139declare float @llvm.maxnum.f32(float, float) #0140 141declare float @llvm.minimum.f32(float, float) #0142declare float @llvm.maximum.f32(float, float) #0143 144attributes #0 = { nounwind readnone speculatable }145