llvm.org GIT mirror llvm / ba47ce1
add some nounwinds git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99752 91177308-0d34-0410-b5e6-96231b3b80d8 Chris Lattner 10 years ago
1 changed file(s) with 12 addition(s) and 12 deletion(s). Raw diff Collapse all Expand all
88 ; RUN: llc < %s -march=ppc32 | \
99 ; RUN: grep nand | count 1
1010
11 define i32 @EQV1(i32 %X, i32 %Y) {
11 define i32 @EQV1(i32 %X, i32 %Y) nounwind {
1212 %A = xor i32 %X, %Y ; [#uses=1]
1313 %B = xor i32 %A, -1 ; [#uses=1]
1414 ret i32 %B
1515 }
1616
17 define i32 @EQV2(i32 %X, i32 %Y) {
17 define i32 @EQV2(i32 %X, i32 %Y) nounwind {
1818 %A = xor i32 %X, -1 ; [#uses=1]
1919 %B = xor i32 %A, %Y ; [#uses=1]
2020 ret i32 %B
2121 }
2222
23 define i32 @EQV3(i32 %X, i32 %Y) {
23 define i32 @EQV3(i32 %X, i32 %Y) nounwind {
2424 %A = xor i32 %X, -1 ; [#uses=1]
2525 %B = xor i32 %Y, %A ; [#uses=1]
2626 ret i32 %B
2727 }
2828
29 define i32 @ANDC1(i32 %X, i32 %Y) {
29 define i32 @ANDC1(i32 %X, i32 %Y) nounwind {
3030 %A = xor i32 %Y, -1 ; [#uses=1]
3131 %B = and i32 %X, %A ; [#uses=1]
3232 ret i32 %B
3333 }
3434
35 define i32 @ANDC2(i32 %X, i32 %Y) {
35 define i32 @ANDC2(i32 %X, i32 %Y) nounwind {
3636 %A = xor i32 %X, -1 ; [#uses=1]
3737 %B = and i32 %A, %Y ; [#uses=1]
3838 ret i32 %B
3939 }
4040
41 define i32 @ORC1(i32 %X, i32 %Y) {
41 define i32 @ORC1(i32 %X, i32 %Y) nounwind {
4242 %A = xor i32 %Y, -1 ; [#uses=1]
4343 %B = or i32 %X, %A ; [#uses=1]
4444 ret i32 %B
4545 }
4646
47 define i32 @ORC2(i32 %X, i32 %Y) {
47 define i32 @ORC2(i32 %X, i32 %Y) nounwind {
4848 %A = xor i32 %X, -1 ; [#uses=1]
4949 %B = or i32 %A, %Y ; [#uses=1]
5050 ret i32 %B
5151 }
5252
53 define i32 @NOR1(i32 %X) {
53 define i32 @NOR1(i32 %X) nounwind {
5454 %Y = xor i32 %X, -1 ; [#uses=1]
5555 ret i32 %Y
5656 }
5757
58 define i32 @NOR2(i32 %X, i32 %Y) {
58 define i32 @NOR2(i32 %X, i32 %Y) nounwind {
5959 %Z = or i32 %X, %Y ; [#uses=1]
6060 %R = xor i32 %Z, -1 ; [#uses=1]
6161 ret i32 %R
6262 }
6363
64 define i32 @NAND1(i32 %X, i32 %Y) {
64 define i32 @NAND1(i32 %X, i32 %Y) nounwind {
6565 %Z = and i32 %X, %Y ; [#uses=1]
6666 %W = xor i32 %Z, -1 ; [#uses=1]
6767 ret i32 %W
6868 }
6969
70 define void @VNOR(<4 x float>* %P, <4 x float>* %Q) {
70 define void @VNOR(<4 x float>* %P, <4 x float>* %Q) nounwind {
7171 %tmp = load <4 x float>* %P ; <<4 x float>> [#uses=1]
7272 %tmp.upgrd.1 = bitcast <4 x float> %tmp to <4 x i32> ; <<4 x i32>> [#uses=1]
7373 %tmp2 = load <4 x float>* %Q ; <<4 x float>> [#uses=1]
7979 ret void
8080 }
8181
82 define void @VANDC(<4 x float>* %P, <4 x float>* %Q) {
82 define void @VANDC(<4 x float>* %P, <4 x float>* %Q) nounwind {
8383 %tmp = load <4 x float>* %P ; <<4 x float>> [#uses=1]
8484 %tmp.upgrd.4 = bitcast <4 x float> %tmp to <4 x i32> ; <<4 x i32>> [#uses=1]
8585 %tmp2 = load <4 x float>* %Q ; <<4 x float>> [#uses=1]