[ARM] Better OR's for MVE compares
[llvm-core.git] / test / MC / SystemZ / asm-match.s
blob843d3ae6cac07c6ac7f5a8e8848a2073a3ee278a
1 // REQUIRES: asserts
2 // RUN: llvm-mc -triple s390x-linux-gnu -debug-only=asm-matcher %s 2>&1 | FileCheck %s
3 //
4 // Check that debug output prints the operands correctly.
6 // CHECK: AsmMatcher: found 1 encodings with mnemonic 'sllg'
7 // CHECK: Trying to match opcode SLLG
8 // CHECK: Matching formal operand class MCK_GR64 against actual operand at index 1 (Reg:r3): match success using generic matcher
9 // CHECK: Matching formal operand class MCK_GR64 against actual operand at index 2 (Reg:r0): match success using generic matcher
10 // CHECK: Matching formal operand class MCK_BDAddr32Disp20 against actual operand at index 3 (Mem:3): match success using generic matcher
11 // CHECK: Matching formal operand class InvalidMatchClass against actual operand at index 4: actual operand index out of range Opcode result: complete match, selecting this opcode
12 // CHECK: AsmMatcher: found 1 encodings with mnemonic 'llill'
13 // CHECK: Trying to match opcode LLILL
14 // CHECK: Matching formal operand class MCK_GR64 against actual operand at index 1 (Reg:r0): match success using generic matcher
15 // CHECK: Matching formal operand class MCK_U16Imm against actual operand at index 2 (Imm:0): match success using generic matcher
16 // CHECK: Matching formal operand class InvalidMatchClass against actual operand at index 3: actual operand index out of range Opcode result: complete match, selecting this opcode
17 // CHECK: AsmMatcher: found 1 encodings with mnemonic 'lgr'
18 // CHECK: Trying to match opcode LGR
19 // CHECK: Matching formal operand class MCK_GR64 against actual operand at index 1 (Reg:r1): match success using generic matcher
20 // CHECK: Matching formal operand class MCK_GR64 against actual operand at index 2 (Reg:r0): match success using generic matcher
21 // CHECK: Matching formal operand class InvalidMatchClass against actual operand at index 3: actual operand index out of range Opcode result: complete match, selecting this opcode
22 // CHECK: AsmMatcher: found 1 encodings with mnemonic 'lg'
23 // CHECK: Trying to match opcode LG
24 // CHECK: Matching formal operand class MCK_GR64 against actual operand at index 1 (Reg:r1): match success using generic matcher
25 // CHECK: Matching formal operand class MCK_BDXAddr64Disp20 against actual operand at index 2 (Mem:16(r2)): match success using generic matcher
26 // CHECK: Matching formal operand class InvalidMatchClass against actual operand at index 3: actual operand index out of range Opcode result: complete match, selecting this opcode
27 // CHECK: AsmMatcher: found 1 encodings with mnemonic 'lg'
28 // CHECK: Trying to match opcode LG
29 // CHECK: Matching formal operand class MCK_GR64 against actual operand at index 1 (Reg:r1): match success using generic matcher
30 // CHECK: Matching formal operand class MCK_BDXAddr64Disp20 against actual operand at index 2 (Mem:16(r2,r3)): match success using generic matcher
31 // CHECK: Matching formal operand class InvalidMatchClass against actual operand at index 3: actual operand index out of range Opcode result: complete match, selecting this opcode
32 // CHECK: AsmMatcher: found 1 encodings with mnemonic 'stmg'
33 // CHECK: Trying to match opcode STMG
34 // CHECK: Matching formal operand class MCK_GR64 against actual operand at index 1 (Reg:r13): match success using generic matcher
35 // CHECK: Matching formal operand class MCK_GR64 against actual operand at index 2 (Reg:r15): match success using generic matcher
36 // CHECK: Matching formal operand class MCK_BDAddr64Disp20 against actual operand at index 3 (Mem:104(r15)): match success using generic matcher
37 // CHECK: Matching formal operand class InvalidMatchClass against actual operand at index 4: actual operand index out of range Opcode result: complete match, selecting this opcode
38 // CHECK: AsmMatcher: found 1 encodings with mnemonic 'mvc'
39 // CHECK: Trying to match opcode MVC
40 // CHECK: Matching formal operand class MCK_BDLAddr64Disp12Len8 against actual operand at index 1 (Mem:184(8,r15)): match success using generic matcher
41 // CHECK: Matching formal operand class MCK_BDAddr64Disp12 against actual operand at index 2 (Mem:8(r2)): match success using generic matcher
42 // CHECK: Matching formal operand class InvalidMatchClass against actual operand at index 3: actual operand index out of range Opcode result: complete match, selecting this opcode
43 // CHECK: AsmMatcher: found 1 encodings with mnemonic 'mvck'
44 // CHECK: Trying to match opcode MVCK
45 // CHECK: Matching formal operand class MCK_BDRAddr64Disp12 against actual operand at index 1 (Mem:0(r0,r1)): match success using generic matcher
46 // CHECK: Matching formal operand class MCK_BDAddr64Disp12 against actual operand at index 2 (Mem:4095(r15)): match success using generic matcher
47 // CHECK: Matching formal operand class MCK_GR64 against actual operand at index 3 (Reg:r2): match success using generic matcher
48 // CHECK: Matching formal operand class InvalidMatchClass against actual operand at index 4: actual operand index out of range Opcode result: complete match, selecting this opcode
49 // CHECK: AsmMatcher: found 1 encodings with mnemonic 'j'
50 // CHECK: Trying to match opcode J
51 // CHECK: Matching formal operand class MCK_PCRel16 against actual operand at index 1 (Imm:.Ltmp0+2): match success using generic matcher
52 // CHECK: Matching formal operand class InvalidMatchClass against actual operand at index 2: actual operand index out of range Opcode result: complete match, selecting this opcode
53 // CHECK: AsmMatcher: found 1 encodings with mnemonic 'brasl'
54 // CHECK: Trying to match opcode BRASL
55 // CHECK: Matching formal operand class MCK_GR64 against actual operand at index 1 (Reg:r14): match success using generic matcher
56 // CHECK: Matching formal operand class MCK_PCRelTLS32 against actual operand at index 2 (ImmTLS:fun): match success using generic matcher
57 // CHECK: Matching formal operand class InvalidMatchClass against actual operand at index 3: actual operand index out of range Opcode result: complete match, selecting this opcode
58 // CHECK: .text
59 // CHECK: sllg %r3, %r0, 3
60 // CHECK: llill %r0, 0
61 // CHECK: lgr %r1, %r0
62 // CHECK: lg %r1, 16(%r2)
63 // CHECK: lg %r1, 16(%r2,%r3)
64 // CHECK: stmg %r13, %r15, 104(%r15)
65 // CHECK: mvc 184(8,%r15), 8(%r2)
66 // CHECK: mvck 0(%r0,%r1), 4095(%r15), %r2
67 // CHECK: .Ltmp0:
68 // CHECK: j .Ltmp0+2
69 // CHECK: brasl %r14, fun
71 sllg %r3, %r0, 3
72 llill %r0, 0
73 lgr %r1, %r0
74 lg %r1, 16(%r2)
75 lg %r1, 16(%r2,%r3)
76 stmg %r13, %r15, 104(%r15)
77 mvc 184(8,%r15), 8(%r2)
78 mvck 0(%r0,%r1), 4095(%r15), %r2
79 .Ltmp0:
80 j .Ltmp0+2
81 brasl %r14, fun