brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 02455f9 Raw
45 lines · plain
1; RUN: llc < %s -O0 -mtriple=armv7-eabi -mcpu=cortex-a8 -mattr=+neon,+fp-armv8 | FileCheck %s2; RUN: llc < %s -O3 -mtriple=armv7-eabi -mcpu=cortex-a8 -mattr=+neon,+fp-armv8 | FileCheck %s3 4@a = common global double 0.000000e+00, align 85 6; Function Attrs: noinline nounwind uwtable7define void @strtod() {8entry:9  ; CHECK: vmrs r{{[0-9]+}}, fpscr10  %0 = call i32 @llvm.get.rounding()11  %tobool = icmp ne i32 %0, 012  br i1 %tobool, label %if.then, label %if.end13 14if.then:                                          ; preds = %entry15  store double 5.000000e-01, ptr @a, align 816  br label %if.end17 18if.end:                                           ; preds = %if.then, %entry19  ret void20}21 22; Function Attrs: nounwind23define void @fn1(ptr nocapture %p) local_unnamed_addr {24entry:25  ; CHECK: vmrs r{{[0-9]+}}, fpscr26  %0 = tail call i32 @llvm.arm.get.fpscr()27  store i32 %0, ptr %p, align 428  ; CHECK: vmsr fpscr, r{{[0-9]+}}29  tail call void @llvm.arm.set.fpscr(i32 1)30  ; CHECK: vmrs r{{[0-9]+}}, fpscr31  %1 = tail call i32 @llvm.arm.get.fpscr()32  %arrayidx1 = getelementptr inbounds i32, ptr %p, i32 133  store i32 %1, ptr %arrayidx1, align 434  ret void35}36 37; Function Attrs: nounwind readonly38declare i32 @llvm.arm.get.fpscr()39 40; Function Attrs: nounwind writeonly41declare void @llvm.arm.set.fpscr(i32)42 43; Function Attrs: nounwind44declare i32 @llvm.get.rounding()45