[PATCH] D24337: Fix the Thumb test for vfloat intrinsics

Pablo Barrio via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 8 04:48:45 PDT 2016


pbarrio created this revision.
pbarrio added reviewers: aschwaighofer, jmolloy, rengolin, t.p.northover.
pbarrio added a subscriber: llvm-commits.
Herald added subscribers: rengolin, aemerson.

This test was not testing the intrinsics. A function like this:

define %v4f32 @test_v4f32.floor(%v4f32 %a){
...
        %1 = call %v4f32 @llvm.floor.v4f32(%v4f32 %a)
...
}

is transformed into the following assembly:

_test_v4f32.floor:              @ @test_v4f32.floor
...
        bl _floorf
...

In each function tested, there are two CHECK: one that checked
for the label and another one for the intrinsic that should be used
inside the function (in our case, "floor"). However, although the
first CHECK was matching the label, the second was not matching the
intrinsic, but the second "floor" in the same line as the label.

This is fixed by making the first CHECK match the entire line.

[ARM] Add ".code 32" to functions in the ARM instruction set

Before, only Thumb functions were marked as ".code 16". These
".code x" directives are effective until the next directive of its
kind is encountered. Therefore, in code with interleaved ARM and
Thumb functions, it was possible to declare a function as ARM and
end up with a Thumb function after assembly. A test has been added.

An existing test has also been fixed to take this change into
account.

https://reviews.llvm.org/D24337

Files:
  lib/Target/ARM/ARMAsmPrinter.cpp
  test/CodeGen/ARM/interwork.ll
  test/CodeGen/ARM/vfloatintrinsics.ll
  test/DebugInfo/ARM/header.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D24337.70679.patch
Type: text/x-patch
Size: 13035 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160908/6028e757/attachment.bin>


More information about the llvm-commits mailing list