1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
| ; RUN: not FileCheck -check-prefix=X1 -input-file %s %s
; RUN: not FileCheck -check-prefix=X2 -input-file %s %s
; RUN: not FileCheck -check-prefix=X3 -input-file %s %s
; RUN: not FileCheck -check-prefix=X4 -input-file %s %s
; RUN: not FileCheck -check-prefix=X5 -input-file %s %s
; RUN: not FileCheck -check-prefix=X6 -input-file %s %s
__x1
add r10, r1, r2
add r11, r3, r4
mul r5, r10, r12
__x1
; X1: __x1
; X1-DAG: add [[REG1:r[0-9]+]], r1, r2
; X1-DAG: add [[REG2:r[0-9]+]], r3, r4
; X1: mul r5, [[REG1]], [[REG2]]
; X1: __x1
__x2
mul r11, r3, r4
mul r10, r1, r2
add r5, r11, r11
__x2
; X2: __x2
; X2-DAG: mul [[REG1:r[0-9]+]], r1, r2
; X2-DAG: mul [[REG2:r[0-9]+]], r3, r4
; X2: add r5, [[REG1]], [[REG2]]
; X2: __x2
__x3
add r11, r3, r4
add r12, r1, r2
mul r5, r10, r11
__x3
; X3: __x3
; X3-DAG: add [[REG1:r[0-9]+]], r1, r2
; X3-DAG: add [[REG2:r[0-9]+]], r3, r4
; X3-DAG: mul r5, [[REG1]], [[REG2]]
; X3: __x3
__x4
add r11, r3, r4
add r12, r1, r2
not
mul r5, r12, r11
__x4
; X4: __x4
; X4-DAG: add [[REG1:r[0-9]+]], r1, r2
; X4-DAG: add [[REG2:r[0-9]+]], r3, r4
; X4-NOT: not
; X4-DAG: mul r5, [[REG1]], [[REG2]]
; X4: __x4
__x5
mul r5, r12, r11
add r11, r3, r4
add r12, r1, r2
not
__x5
; X5: __x5
; X5-DAG: add [[REG1:r[0-9]+]], r1, r2
; X5-DAG: add [[REG2:r[0-9]+]], r3, r4
; X5-NOT: not
; X5-DAG: mul r5, [[REG1]], [[REG2]]
; X5: __x5
__x6
add r11, r3, r4
mul r6, r12, r11
add r12, r1, r2
mul r5, r12, r11
__x6
; X6: __x6
; X6-DAG: add [[REG1:r[0-9]+]], r1, r2
; X6-DAG: add [[REG2:r[0-9]+]], r3, r4
; X6-NOT: not
; X6-DAG: mul r5, [[REG1]], [[REG2]]
; X6-DAG: mul r6, [[REG1]], [[REG2]]
; X6: __x6
|