brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · 9a8e552 Raw
81 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2; RUN: llc -O0 -mtriple=aarch64-linux-gnu -global-isel -stop-after=irtranslator %s -o - | FileCheck %s3 4declare i64 @llvm.get.fpenv.i64()5declare void @llvm.set.fpenv.i64(i64 %fpenv)6declare void @llvm.reset.fpenv()7declare i32 @llvm.get.fpmode.i32()8declare void @llvm.set.fpmode.i32(i32 %fpmode)9declare void @llvm.reset.fpmode()10 11define i64 @func_get_fpenv() #0 {12  ; CHECK-LABEL: name: func_get_fpenv13  ; CHECK: bb.1.entry:14  ; CHECK-NEXT:   [[GET_FPENV:%[0-9]+]]:_(s64) = G_GET_FPENV15  ; CHECK-NEXT:   $x0 = COPY [[GET_FPENV]](s64)16  ; CHECK-NEXT:   RET_ReallyLR implicit $x017entry:18  %fpenv = call i64 @llvm.get.fpenv.i64()19  ret i64 %fpenv20}21 22define void @func_set_fpenv(i64 %fpenv) #0 {23  ; CHECK-LABEL: name: func_set_fpenv24  ; CHECK: bb.1.entry:25  ; CHECK-NEXT:   liveins: $x026  ; CHECK-NEXT: {{  $}}27  ; CHECK-NEXT:   [[COPY:%[0-9]+]]:_(s64) = COPY $x028  ; CHECK-NEXT:   G_SET_FPENV [[COPY]](s64)29  ; CHECK-NEXT:   RET_ReallyLR30entry:31  call void @llvm.set.fpenv.i64(i64 %fpenv)32  ret void33}34 35define void @func_reset_fpenv() #0 {36  ; CHECK-LABEL: name: func_reset_fpenv37  ; CHECK: bb.1.entry:38  ; CHECK-NEXT:   G_RESET_FPENV39  ; CHECK-NEXT:   RET_ReallyLR40entry:41  call void @llvm.reset.fpenv()42  ret void43}44 45define i32 @func_get_fpmode() #0 {46  ; CHECK-LABEL: name: func_get_fpmode47  ; CHECK: bb.1.entry:48  ; CHECK-NEXT:   [[GET_FPMODE:%[0-9]+]]:_(s32) = G_GET_FPMODE49  ; CHECK-NEXT:   $w0 = COPY [[GET_FPMODE]](s32)50  ; CHECK-NEXT:   RET_ReallyLR implicit $w051entry:52  %fpmode = call i32 @llvm.get.fpmode.i32()53  ret i32 %fpmode54}55 56define void @func_set_fpmode(i32 %fpmode) #0 {57  ; CHECK-LABEL: name: func_set_fpmode58  ; CHECK: bb.1.entry:59  ; CHECK-NEXT:   liveins: $w060  ; CHECK-NEXT: {{  $}}61  ; CHECK-NEXT:   [[COPY:%[0-9]+]]:_(s32) = COPY $w062  ; CHECK-NEXT:   G_SET_FPMODE [[COPY]](s32)63  ; CHECK-NEXT:   RET_ReallyLR64entry:65  call void @llvm.set.fpmode.i32(i32 %fpmode)66  ret void67}68 69 70define void @func_reset() #0 {71  ; CHECK-LABEL: name: func_reset72  ; CHECK: bb.1.entry:73  ; CHECK-NEXT:   G_RESET_FPMODE74  ; CHECK-NEXT:   RET_ReallyLR75entry:76  call void @llvm.reset.fpmode()77  ret void78}79 80attributes #0 = { nounwind "use-soft-float"="true" }81