diff options
author | Justin Holewinski <jholewinski@nvidia.com> | 2013-05-31 12:14:49 +0000 |
---|---|---|
committer | Justin Holewinski <jholewinski@nvidia.com> | 2013-05-31 12:14:49 +0000 |
commit | 5443e7d79044f3198f2da044f1b389b40d9bea6f (patch) | |
tree | 2af410aedc2eb4f9a78443029eb71da208562589 /test/CodeGen | |
parent | 7ae921dbec5db9823c89fa736b2a4c3afe163e4f (diff) | |
download | llvm-5443e7d79044f3198f2da044f1b389b40d9bea6f.tar.gz llvm-5443e7d79044f3198f2da044f1b389b40d9bea6f.tar.bz2 llvm-5443e7d79044f3198f2da044f1b389b40d9bea6f.tar.xz |
[NVPTX] Re-enable support for virtual registers in the final output
Now that 3.3 is branched, we are re-enabling virtual registers to help
iron out bugs before the next release. Some of the post-RA passes do
not play well with virtual registers, so we disable them for now. The
needed functionality of the PrologEpilogInserter pass is copied to a
new backend-specific NVPTXPrologEpilog pass.
The test for this commit is not breaking the existing tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182998 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen')
-rw-r--r-- | test/CodeGen/NVPTX/intrinsic-old.ll | 66 | ||||
-rw-r--r-- | test/CodeGen/NVPTX/intrinsics.ll | 4 |
2 files changed, 35 insertions, 35 deletions
diff --git a/test/CodeGen/NVPTX/intrinsic-old.ll b/test/CodeGen/NVPTX/intrinsic-old.ll index 53a28f3337..af91bb4424 100644 --- a/test/CodeGen/NVPTX/intrinsic-old.ll +++ b/test/CodeGen/NVPTX/intrinsic-old.ll @@ -2,231 +2,231 @@ ; RUN: llc < %s -march=nvptx64 -mcpu=sm_20 | FileCheck %s define ptx_device i32 @test_tid_x() { -; CHECK: mov.u32 %r0, %tid.x; +; CHECK: mov.u32 %r{{[0-9]+}}, %tid.x; ; CHECK: ret; %x = call i32 @llvm.ptx.read.tid.x() ret i32 %x } define ptx_device i32 @test_tid_y() { -; CHECK: mov.u32 %r0, %tid.y; +; CHECK: mov.u32 %r{{[0-9]+}}, %tid.y; ; CHECK: ret; %x = call i32 @llvm.ptx.read.tid.y() ret i32 %x } define ptx_device i32 @test_tid_z() { -; CHECK: mov.u32 %r0, %tid.z; +; CHECK: mov.u32 %r{{[0-9]+}}, %tid.z; ; CHECK: ret; %x = call i32 @llvm.ptx.read.tid.z() ret i32 %x } define ptx_device i32 @test_tid_w() { -; CHECK: mov.u32 %r0, %tid.w; +; CHECK: mov.u32 %r{{[0-9]+}}, %tid.w; ; CHECK: ret; %x = call i32 @llvm.ptx.read.tid.w() ret i32 %x } define ptx_device i32 @test_ntid_x() { -; CHECK: mov.u32 %r0, %ntid.x; +; CHECK: mov.u32 %r{{[0-9]+}}, %ntid.x; ; CHECK: ret; %x = call i32 @llvm.ptx.read.ntid.x() ret i32 %x } define ptx_device i32 @test_ntid_y() { -; CHECK: mov.u32 %r0, %ntid.y; +; CHECK: mov.u32 %r{{[0-9]+}}, %ntid.y; ; CHECK: ret; %x = call i32 @llvm.ptx.read.ntid.y() ret i32 %x } define ptx_device i32 @test_ntid_z() { -; CHECK: mov.u32 %r0, %ntid.z; +; CHECK: mov.u32 %r{{[0-9]+}}, %ntid.z; ; CHECK: ret; %x = call i32 @llvm.ptx.read.ntid.z() ret i32 %x } define ptx_device i32 @test_ntid_w() { -; CHECK: mov.u32 %r0, %ntid.w; +; CHECK: mov.u32 %r{{[0-9]+}}, %ntid.w; ; CHECK: ret; %x = call i32 @llvm.ptx.read.ntid.w() ret i32 %x } define ptx_device i32 @test_laneid() { -; CHECK: mov.u32 %r0, %laneid; +; CHECK: mov.u32 %r{{[0-9]+}}, %laneid; ; CHECK: ret; %x = call i32 @llvm.ptx.read.laneid() ret i32 %x } define ptx_device i32 @test_warpid() { -; CHECK: mov.u32 %r0, %warpid; +; CHECK: mov.u32 %r{{[0-9]+}}, %warpid; ; CHECK: ret; %x = call i32 @llvm.ptx.read.warpid() ret i32 %x } define ptx_device i32 @test_nwarpid() { -; CHECK: mov.u32 %r0, %nwarpid; +; CHECK: mov.u32 %r{{[0-9]+}}, %nwarpid; ; CHECK: ret; %x = call i32 @llvm.ptx.read.nwarpid() ret i32 %x } define ptx_device i32 @test_ctaid_x() { -; CHECK: mov.u32 %r0, %ctaid.x; +; CHECK: mov.u32 %r{{[0-9]+}}, %ctaid.x; ; CHECK: ret; %x = call i32 @llvm.ptx.read.ctaid.x() ret i32 %x } define ptx_device i32 @test_ctaid_y() { -; CHECK: mov.u32 %r0, %ctaid.y; +; CHECK: mov.u32 %r{{[0-9]+}}, %ctaid.y; ; CHECK: ret; %x = call i32 @llvm.ptx.read.ctaid.y() ret i32 %x } define ptx_device i32 @test_ctaid_z() { -; CHECK: mov.u32 %r0, %ctaid.z; +; CHECK: mov.u32 %r{{[0-9]+}}, %ctaid.z; ; CHECK: ret; %x = call i32 @llvm.ptx.read.ctaid.z() ret i32 %x } define ptx_device i32 @test_ctaid_w() { -; CHECK: mov.u32 %r0, %ctaid.w; +; CHECK: mov.u32 %r{{[0-9]+}}, %ctaid.w; ; CHECK: ret; %x = call i32 @llvm.ptx.read.ctaid.w() ret i32 %x } define ptx_device i32 @test_nctaid_x() { -; CHECK: mov.u32 %r0, %nctaid.x; +; CHECK: mov.u32 %r{{[0-9]+}}, %nctaid.x; ; CHECK: ret; %x = call i32 @llvm.ptx.read.nctaid.x() ret i32 %x } define ptx_device i32 @test_nctaid_y() { -; CHECK: mov.u32 %r0, %nctaid.y; +; CHECK: mov.u32 %r{{[0-9]+}}, %nctaid.y; ; CHECK: ret; %x = call i32 @llvm.ptx.read.nctaid.y() ret i32 %x } define ptx_device i32 @test_nctaid_z() { -; CHECK: mov.u32 %r0, %nctaid.z; +; CHECK: mov.u32 %r{{[0-9]+}}, %nctaid.z; ; CHECK: ret; %x = call i32 @llvm.ptx.read.nctaid.z() ret i32 %x } define ptx_device i32 @test_nctaid_w() { -; CHECK: mov.u32 %r0, %nctaid.w; +; CHECK: mov.u32 %r{{[0-9]+}}, %nctaid.w; ; CHECK: ret; %x = call i32 @llvm.ptx.read.nctaid.w() ret i32 %x } define ptx_device i32 @test_smid() { -; CHECK: mov.u32 %r0, %smid; +; CHECK: mov.u32 %r{{[0-9]+}}, %smid; ; CHECK: ret; %x = call i32 @llvm.ptx.read.smid() ret i32 %x } define ptx_device i32 @test_nsmid() { -; CHECK: mov.u32 %r0, %nsmid; +; CHECK: mov.u32 %r{{[0-9]+}}, %nsmid; ; CHECK: ret; %x = call i32 @llvm.ptx.read.nsmid() ret i32 %x } define ptx_device i32 @test_gridid() { -; CHECK: mov.u32 %r0, %gridid; +; CHECK: mov.u32 %r{{[0-9]+}}, %gridid; ; CHECK: ret; %x = call i32 @llvm.ptx.read.gridid() ret i32 %x } define ptx_device i32 @test_lanemask_eq() { -; CHECK: mov.u32 %r0, %lanemask_eq; +; CHECK: mov.u32 %r{{[0-9]+}}, %lanemask_eq; ; CHECK: ret; %x = call i32 @llvm.ptx.read.lanemask.eq() ret i32 %x } define ptx_device i32 @test_lanemask_le() { -; CHECK: mov.u32 %r0, %lanemask_le; +; CHECK: mov.u32 %r{{[0-9]+}}, %lanemask_le; ; CHECK: ret; %x = call i32 @llvm.ptx.read.lanemask.le() ret i32 %x } define ptx_device i32 @test_lanemask_lt() { -; CHECK: mov.u32 %r0, %lanemask_lt; +; CHECK: mov.u32 %r{{[0-9]+}}, %lanemask_lt; ; CHECK: ret; %x = call i32 @llvm.ptx.read.lanemask.lt() ret i32 %x } define ptx_device i32 @test_lanemask_ge() { -; CHECK: mov.u32 %r0, %lanemask_ge; +; CHECK: mov.u32 %r{{[0-9]+}}, %lanemask_ge; ; CHECK: ret; %x = call i32 @llvm.ptx.read.lanemask.ge() ret i32 %x } define ptx_device i32 @test_lanemask_gt() { -; CHECK: mov.u32 %r0, %lanemask_gt; +; CHECK: mov.u32 %r{{[0-9]+}}, %lanemask_gt; ; CHECK: ret; %x = call i32 @llvm.ptx.read.lanemask.gt() ret i32 %x } define ptx_device i32 @test_clock() { -; CHECK: mov.u32 %r0, %clock; +; CHECK: mov.u32 %r{{[0-9]+}}, %clock; ; CHECK: ret; %x = call i32 @llvm.ptx.read.clock() ret i32 %x } define ptx_device i64 @test_clock64() { -; CHECK: mov.u64 %rl0, %clock64; +; CHECK: mov.u64 %rl{{[0-9]+}}, %clock64; ; CHECK: ret; %x = call i64 @llvm.ptx.read.clock64() ret i64 %x } define ptx_device i32 @test_pm0() { -; CHECK: mov.u32 %r0, %pm0; +; CHECK: mov.u32 %r{{[0-9]+}}, %pm0; ; CHECK: ret; %x = call i32 @llvm.ptx.read.pm0() ret i32 %x } define ptx_device i32 @test_pm1() { -; CHECK: mov.u32 %r0, %pm1; +; CHECK: mov.u32 %r{{[0-9]+}}, %pm1; ; CHECK: ret; %x = call i32 @llvm.ptx.read.pm1() ret i32 %x } define ptx_device i32 @test_pm2() { -; CHECK: mov.u32 %r0, %pm2; +; CHECK: mov.u32 %r{{[0-9]+}}, %pm2; ; CHECK: ret; %x = call i32 @llvm.ptx.read.pm2() ret i32 %x } define ptx_device i32 @test_pm3() { -; CHECK: mov.u32 %r0, %pm3; +; CHECK: mov.u32 %r{{[0-9]+}}, %pm3; ; CHECK: ret; %x = call i32 @llvm.ptx.read.pm3() ret i32 %x diff --git a/test/CodeGen/NVPTX/intrinsics.ll b/test/CodeGen/NVPTX/intrinsics.ll index 1676f20643..78e1e77890 100644 --- a/test/CodeGen/NVPTX/intrinsics.ll +++ b/test/CodeGen/NVPTX/intrinsics.ll @@ -2,14 +2,14 @@ ; RUN: llc < %s -march=nvptx64 -mcpu=sm_20 | FileCheck %s define ptx_device float @test_fabsf(float %f) { -; CHECK: abs.f32 %f0, %f0; +; CHECK: abs.f32 %f{{[0-9]+}}, %f{{[0-9]+}}; ; CHECK: ret; %x = call float @llvm.fabs.f32(float %f) ret float %x } define ptx_device double @test_fabs(double %d) { -; CHECK: abs.f64 %fl0, %fl0; +; CHECK: abs.f64 %fl{{[0-9]+}}, %fl{{[0-9]+}}; ; CHECK: ret; %x = call double @llvm.fabs.f64(double %d) ret double %x |