Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Side by Side Diff: tests_lit/llvm2ice_tests/commutativity.ll

Issue 1371703003: Generate better two address code by using commutativity (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Address code review comments in test Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tests_lit/assembler/x86/opcode_register_encodings.ll ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 ; Test the lowering sequence for commutative operations. If there is a source
2 ; operand whose lifetime ends in an operation, it should be the first operand,
3 ; eliminating the need for a move to start the new lifetime.
4
5 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \
6 ; RUN: --target x8632 -i %s --args -O2 \
7 ; RUN: | %if --need=target_X8632 --command FileCheck %s
8
9 define i32 @integerAddLeft(i32 %a, i32 %b) {
10 entry:
11 %tmp = add i32 %a, %b
12 %result = add i32 %a, %tmp
13 ret i32 %result
14 }
15 ; CHECK-LABEL: integerAddLeft
16 ; CHECK-NEXT: mov {{e..}},DWORD PTR
17 ; CHECK-NEXT: mov {{e..}},DWORD PTR
18 ; CHECK-NEXT: add {{e..}},{{e..}}
19 ; CHECK-NEXT: add {{e..}},{{e..}}
20
21 define i32 @integerAddRight(i32 %a, i32 %b) {
22 entry:
23 %tmp = add i32 %a, %b
24 %result = add i32 %b, %tmp
25 ret i32 %result
26 }
27 ; CHECK-LABEL: integerAddRight
28 ; CHECK-NEXT: mov {{e..}},DWORD PTR
29 ; CHECK-NEXT: mov {{e..}},DWORD PTR
30 ; CHECK-NEXT: add {{e..}},{{e..}}
31 ; CHECK-NEXT: add {{e..}},{{e..}}
32
33 define i32 @integerMultiplyLeft(i32 %a, i32 %b) {
34 entry:
35 %tmp = mul i32 %a, %b
36 %result = mul i32 %a, %tmp
37 ret i32 %result
38 }
39 ; CHECK-LABEL: integerMultiplyLeft
40 ; CHECK-NEXT: mov {{e..}},DWORD PTR
41 ; CHECK-NEXT: mov {{e..}},DWORD PTR
42 ; CHECK-NEXT: imul {{e..}},{{e..}}
43 ; CHECK-NEXT: imul {{e..}},{{e..}}
44
45 define i32 @integerMultiplyRight(i32 %a, i32 %b) {
46 entry:
47 %tmp = mul i32 %a, %b
48 %result = mul i32 %b, %tmp
49 ret i32 %result
50 }
51 ; CHECK-LABEL: integerMultiplyRight
52 ; CHECK-NEXT: mov {{e..}},DWORD PTR
53 ; CHECK-NEXT: mov {{e..}},DWORD PTR
54 ; CHECK-NEXT: imul {{e..}},{{e..}}
55 ; CHECK-NEXT: imul {{e..}},{{e..}}
56
57 define float @floatAddLeft(float %a, float %b) {
58 entry:
59 %tmp = fadd float %a, %b
60 %result = fadd float %a, %tmp
61 ret float %result
62 }
63 ; CHECK-LABEL: floatAddLeft
64 ; CHECK-NEXT: movss xmm0,DWORD PTR
65 ; CHECK-NEXT: movss xmm1,DWORD PTR
66 ; CHECK-NEXT: addss xmm1,xmm0
67 ; CHECK-NEXT: addss xmm0,xmm1
68
69 define float @floatAddRight(float %a, float %b) {
70 entry:
71 %tmp = fadd float %a, %b
72 %result = fadd float %b, %tmp
73 ret float %result
74 }
75 ; CHECK-LABEL: floatAddRight
76 ; CHECK-NEXT: movss xmm0,DWORD PTR
77 ; CHECK-NEXT: movss xmm1,DWORD PTR
78 ; CHECK-NEXT: addss xmm0,xmm1
79 ; CHECK-NEXT: addss xmm1,xmm0
80
81 define float @floatMultiplyLeft(float %a, float %b) {
82 entry:
83 %tmp = fmul float %a, %b
84 %result = fmul float %a, %tmp
85 ret float %result
86 }
87 ; CHECK-LABEL: floatMultiplyLeft
88 ; CHECK-NEXT: movss xmm0,DWORD PTR
89 ; CHECK-NEXT: movss xmm1,DWORD PTR
90 ; CHECK-NEXT: mulss xmm1,xmm0
91 ; CHECK-NEXT: mulss xmm0,xmm1
92
93 define float @floatMultiplyRight(float %a, float %b) {
94 entry:
95 %tmp = fmul float %a, %b
96 %result = fmul float %b, %tmp
97 ret float %result
98 }
99 ; CHECK-LABEL: floatMultiplyRight
100 ; CHECK-NEXT: movss xmm0,DWORD PTR
101 ; CHECK-NEXT: movss xmm1,DWORD PTR
102 ; CHECK-NEXT: mulss xmm0,xmm1
103 ; CHECK-NEXT: mulss xmm1,xmm0
OLDNEW
« no previous file with comments | « tests_lit/assembler/x86/opcode_register_encodings.ll ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698