reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    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