1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00

FileCheck-ize a few tests.

llvm-svn: 117156
This commit is contained in:
Jim Grosbach 2010-10-22 21:55:03 +00:00
parent 2c2dcc69d8
commit 4366bb4852
2 changed files with 26 additions and 21 deletions

View File

@ -1,8 +1,10 @@
; RUN: llc < %s -march=arm -mattr=+v5t | grep clz
; RUN: llc < %s -march=arm -mattr=+v5t | FileCheck %s
declare i32 @llvm.ctlz.i32(i32)
define i32 @test(i32 %x) {
%tmp.1 = call i32 @llvm.ctlz.i32( i32 %x ) ; <i32> [#uses=1]
; CHECK: test
; CHECK: clz r0, r0
%tmp.1 = call i32 @llvm.ctlz.i32( i32 %x )
ret i32 %tmp.1
}

View File

@ -1,27 +1,30 @@
; RUN: llc < %s -march=arm -mattr=+v6 | grep rev16
; RUN: llc < %s -march=arm -mattr=+v6 | grep revsh
; RUN: llc < %s -march=arm -mattr=+v6 | FileCheck %s
define i32 @test1(i32 %X) {
%tmp1 = lshr i32 %X, 8 ; <i32> [#uses=3]
%X15 = bitcast i32 %X to i32 ; <i32> [#uses=1]
%tmp4 = shl i32 %X15, 8 ; <i32> [#uses=2]
%tmp2 = and i32 %tmp1, 16711680 ; <i32> [#uses=1]
%tmp5 = and i32 %tmp4, -16777216 ; <i32> [#uses=1]
%tmp9 = and i32 %tmp1, 255 ; <i32> [#uses=1]
%tmp13 = and i32 %tmp4, 65280 ; <i32> [#uses=1]
%tmp6 = or i32 %tmp5, %tmp2 ; <i32> [#uses=1]
%tmp10 = or i32 %tmp6, %tmp13 ; <i32> [#uses=1]
%tmp14 = or i32 %tmp10, %tmp9 ; <i32> [#uses=1]
; CHECK: test1
; CHECK: rev16 r0, r0
%tmp1 = lshr i32 %X, 8
%X15 = bitcast i32 %X to i32
%tmp4 = shl i32 %X15, 8
%tmp2 = and i32 %tmp1, 16711680
%tmp5 = and i32 %tmp4, -16777216
%tmp9 = and i32 %tmp1, 255
%tmp13 = and i32 %tmp4, 65280
%tmp6 = or i32 %tmp5, %tmp2
%tmp10 = or i32 %tmp6, %tmp13
%tmp14 = or i32 %tmp10, %tmp9
ret i32 %tmp14
}
define i32 @test2(i32 %X) {
%tmp1 = lshr i32 %X, 8 ; <i32> [#uses=1]
%tmp1.upgrd.1 = trunc i32 %tmp1 to i16 ; <i16> [#uses=1]
%tmp3 = trunc i32 %X to i16 ; <i16> [#uses=1]
%tmp2 = and i16 %tmp1.upgrd.1, 255 ; <i16> [#uses=1]
%tmp4 = shl i16 %tmp3, 8 ; <i16> [#uses=1]
%tmp5 = or i16 %tmp2, %tmp4 ; <i16> [#uses=1]
%tmp5.upgrd.2 = sext i16 %tmp5 to i32 ; <i32> [#uses=1]
; CHECK: test2
; CHECK: revsh r0, r0
%tmp1 = lshr i32 %X, 8
%tmp1.upgrd.1 = trunc i32 %tmp1 to i16
%tmp3 = trunc i32 %X to i16
%tmp2 = and i16 %tmp1.upgrd.1, 255
%tmp4 = shl i16 %tmp3, 8
%tmp5 = or i16 %tmp2, %tmp4
%tmp5.upgrd.2 = sext i16 %tmp5 to i32
ret i32 %tmp5.upgrd.2
}