llvm.org GIT mirror llvm / da3a8a6
Update tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102487 91177308-0d34-0410-b5e6-96231b3b80d8 Evan Cheng 9 years ago
3 changed file(s) with 35 addition(s) and 11 deletion(s). Raw diff Collapse all Expand all
None ; RUN: llc < %s -march=x86 > %t
1 ; RUN: grep rol %t | count 3
2 ; RUN: grep ror %t | count 1
3 ; RUN: grep shld %t | count 2
4 ; RUN: grep shrd %t | count 2
0 ; RUN: llc < %s -march=x86 | FileCheck %s
51
62 define i16 @foo(i16 %x, i16 %y, i16 %z) nounwind readnone {
73 entry:
4 ; CHECK: foo:
5 ; CHECK: rolw %cl
86 %0 = shl i16 %x, %z
97 %1 = sub i16 16, %z
108 %2 = lshr i16 %x, %1
1412
1513 define i16 @bar(i16 %x, i16 %y, i16 %z) nounwind readnone {
1614 entry:
15 ; CHECK: bar:
16 ; CHECK: shldw %cl
1717 %0 = shl i16 %y, %z
1818 %1 = sub i16 16, %z
1919 %2 = lshr i16 %x, %1
2323
2424 define i16 @un(i16 %x, i16 %y, i16 %z) nounwind readnone {
2525 entry:
26 ; CHECK: un:
27 ; CHECK: rorw %cl
2628 %0 = lshr i16 %x, %z
2729 %1 = sub i16 16, %z
2830 %2 = shl i16 %x, %1
3234
3335 define i16 @bu(i16 %x, i16 %y, i16 %z) nounwind readnone {
3436 entry:
37 ; CHECK: bu:
38 ; CHECK: shrdw
3539 %0 = lshr i16 %y, %z
3640 %1 = sub i16 16, %z
3741 %2 = shl i16 %x, %1
4145
4246 define i16 @xfoo(i16 %x, i16 %y, i16 %z) nounwind readnone {
4347 entry:
48 ; CHECK: xfoo:
49 ; CHECK: rolw $5
4450 %0 = lshr i16 %x, 11
4551 %1 = shl i16 %x, 5
4652 %2 = or i16 %0, %1
4955
5056 define i16 @xbar(i16 %x, i16 %y, i16 %z) nounwind readnone {
5157 entry:
58 ; CHECK: xbar:
59 ; CHECK: shldw $5
5260 %0 = shl i16 %y, 5
5361 %1 = lshr i16 %x, 11
5462 %2 = or i16 %0, %1
5765
5866 define i16 @xun(i16 %x, i16 %y, i16 %z) nounwind readnone {
5967 entry:
68 ; CHECK: xun:
69 ; CHECK: rolw $11
6070 %0 = lshr i16 %x, 5
6171 %1 = shl i16 %x, 11
6272 %2 = or i16 %0, %1
6575
6676 define i16 @xbu(i16 %x, i16 %y, i16 %z) nounwind readnone {
6777 entry:
78 ; CHECK: xbu:
79 ; CHECK: shldw $11
6880 %0 = lshr i16 %y, 5
6981 %1 = shl i16 %x, 11
7082 %2 = or i16 %0, %1
None ; RUN: llc < %s -march=x86 > %t
1 ; RUN: grep rol %t | count 3
2 ; RUN: grep ror %t | count 1
3 ; RUN: grep shld %t | count 2
4 ; RUN: grep shrd %t | count 2
0 ; RUN: llc < %s -march=x86 | FileCheck %s
51
62 define i32 @foo(i32 %x, i32 %y, i32 %z) nounwind readnone {
73 entry:
4 ; CHECK: foo:
5 ; CHECK: roll %cl
86 %0 = shl i32 %x, %z
97 %1 = sub i32 32, %z
108 %2 = lshr i32 %x, %1
1412
1513 define i32 @bar(i32 %x, i32 %y, i32 %z) nounwind readnone {
1614 entry:
15 ; CHECK: bar:
16 ; CHECK: shldl %cl
1717 %0 = shl i32 %y, %z
1818 %1 = sub i32 32, %z
1919 %2 = lshr i32 %x, %1
2323
2424 define i32 @un(i32 %x, i32 %y, i32 %z) nounwind readnone {
2525 entry:
26 ; CHECK: un:
27 ; CHECK: rorl %cl
2628 %0 = lshr i32 %x, %z
2729 %1 = sub i32 32, %z
2830 %2 = shl i32 %x, %1
3234
3335 define i32 @bu(i32 %x, i32 %y, i32 %z) nounwind readnone {
3436 entry:
37 ; CHECK: bu:
38 ; CHECK: shrdl %cl
3539 %0 = lshr i32 %y, %z
3640 %1 = sub i32 32, %z
3741 %2 = shl i32 %x, %1
4145
4246 define i32 @xfoo(i32 %x, i32 %y, i32 %z) nounwind readnone {
4347 entry:
48 ; CHECK: xfoo:
49 ; CHECK: roll $7
4450 %0 = lshr i32 %x, 25
4551 %1 = shl i32 %x, 7
4652 %2 = or i32 %0, %1
4955
5056 define i32 @xbar(i32 %x, i32 %y, i32 %z) nounwind readnone {
5157 entry:
58 ; CHECK: xbar:
59 ; CHECK: shldl $7
5260 %0 = shl i32 %y, 7
5361 %1 = lshr i32 %x, 25
5462 %2 = or i32 %0, %1
5765
5866 define i32 @xun(i32 %x, i32 %y, i32 %z) nounwind readnone {
5967 entry:
68 ; CHECK: xun:
69 ; CHECK: roll $25
6070 %0 = lshr i32 %x, 7
6171 %1 = shl i32 %x, 25
6272 %2 = or i32 %0, %1
6575
6676 define i32 @xbu(i32 %x, i32 %y, i32 %z) nounwind readnone {
6777 entry:
78 ; CHECK: xbu:
79 ; CHECK: shldl
6880 %0 = lshr i32 %y, 7
6981 %1 = shl i32 %x, 25
7082 %2 = or i32 %0, %1
11 ; RUN: llc < %s -march=x86 | grep {shrl .eax}
22 ; RUN: llc < %s -march=x86 | grep {movswl .ax, .eax}
33
4 define i32 @test1(i64 %a) {
4 define i32 @test1(i64 %a) nounwind {
55 %tmp29 = lshr i64 %a, 24 ; [#uses=1]
66 %tmp23 = trunc i64 %tmp29 to i32 ; [#uses=1]
77 %tmp410 = lshr i32 %tmp23, 9 ; [#uses=1]