[PATCH] D43395: [ARM] Add LLVM tests for the vcvtr builtins

Sjoerd Meijer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 16 09:28:23 PST 2018


SjoerdMeijer created this revision.
SjoerdMeijer added reviewers: samparker, olista01, rengolin.
Herald added subscribers: kristof.beyls, javed.absar.

Follow up of Clang commit r325351; this adds the LLVM tests, which
were also missing.


https://reviews.llvm.org/D43395

Files:
  test/CodeGen/ARM/fpvcvtr.ll


Index: test/CodeGen/ARM/fpvcvtr.ll
===================================================================
--- /dev/null
+++ test/CodeGen/ARM/fpvcvtr.ll
@@ -0,0 +1,35 @@
+; RUN: llc -mtriple=arm-eabi -mattr=+vfp2 %s -o - | FileCheck %s --check-prefix=CHECK-VFP
+; RUN: llc -mtriple=thumbv7-eabi -mattr=+vfp2 %s -o - | FileCheck %s --check-prefix=CHECK-VFP
+
+declare float @llvm.arm.vcvtr.f32(float)
+declare float @llvm.arm.vcvtru.f32(float)
+declare float @llvm.arm.vcvtr.f64(double)
+declare float @llvm.arm.vcvtru.f64(double)
+
+define float @test_vcvtrf0(float %f) {
+entry:
+; CHECK-VFP:  vcvtr.s32.f32  s0, s0
+  %vcvtr = tail call float @llvm.arm.vcvtr.f32(float %f)
+  ret float %vcvtr
+}
+
+define float @test_vcvtrf1(float %f) {
+entry:
+; CHECK-VFP:  vcvtr.u32.f32  s0, s0
+  %vcvtr = tail call float @llvm.arm.vcvtru.f32(float %f)
+  ret float %vcvtr
+}
+
+define float @test_vcvtrd0(double %d) {
+entry:
+; CHECK-VFP: vcvtr.s32.f64  s0, d{{.*}}
+  %vcvtr = tail call float @llvm.arm.vcvtr.f64(double %d)
+  ret float %vcvtr
+}
+
+define float @test_vcvtrd1(double %d) {
+entry:
+; CHECK-VFP: vcvtr.u32.f64  s0, d{{.*}}
+  %vcvtr = tail call float @llvm.arm.vcvtru.f64(double %d)
+  ret float %vcvtr
+}


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D43395.134647.patch
Type: text/x-patch
Size: 1212 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180216/d4777ed0/attachment.bin>


More information about the llvm-commits mailing list