91 lines · plain
1// REQUIRES: asserts2// RUN: llvm-mc -triple s390x-linux-gnu -debug-only=asm-matcher %s 2>&1 | FileCheck %s3//4// Check that debug output prints the operands correctly.5 6// CHECK: AsmMatcher: found 1 encodings with mnemonic 'sllg'7// CHECK: Trying to match opcode SLLG8// CHECK: Matching formal operand class MCK_GR64 against actual operand at index 1 (Reg:r3): match success using generic matcher9// CHECK: Matching formal operand class MCK_GR64 against actual operand at index 2 (Reg:r0): match success using generic matcher10// CHECK: Matching formal operand class MCK_BDAddr32Disp20 against actual operand at index 3 (Mem:3): match success using generic matcher11// CHECK: Matching formal operand class InvalidMatchClass against actual operand at index 4: actual operand index out of range12// CHECK: Opcode result: complete match, selecting this opcode13// CHECK: AsmMatcher: found 1 encodings with mnemonic 'llill'14// CHECK: Trying to match opcode LLILL15// CHECK: Matching formal operand class MCK_GR64 against actual operand at index 1 (Reg:r0): match success using generic matcher16// CHECK: Matching formal operand class MCK_U16Imm against actual operand at index 2 (Imm:0): match success using generic matcher17// CHECK: Matching formal operand class InvalidMatchClass against actual operand at index 3: actual operand index out of range18// CHECK: Opcode result: complete match, selecting this opcode19// CHECK: AsmMatcher: found 1 encodings with mnemonic 'lgr'20// CHECK: Trying to match opcode LGR21// CHECK: Matching formal operand class MCK_GR64 against actual operand at index 1 (Reg:r1): match success using generic matcher22// CHECK: Matching formal operand class MCK_GR64 against actual operand at index 2 (Reg:r0): match success using generic matcher23// CHECK: Matching formal operand class InvalidMatchClass against actual operand at index 3: actual operand index out of range24// CHECK: Opcode result: complete match, selecting this opcode25// CHECK: AsmMatcher: found 1 encodings with mnemonic 'lg'26// CHECK: Trying to match opcode LG27// CHECK: Matching formal operand class MCK_GR64 against actual operand at index 1 (Reg:r1): match success using generic matcher28// CHECK: Matching formal operand class MCK_BDXAddr64Disp20 against actual operand at index 2 (Mem:16(r2)): match success using generic matcher29// CHECK: Matching formal operand class InvalidMatchClass against actual operand at index 3: actual operand index out of range30// CHECK: Opcode result: complete match, selecting this opcode31// CHECK: AsmMatcher: found 1 encodings with mnemonic 'lg'32// CHECK: Trying to match opcode LG33// CHECK: Matching formal operand class MCK_GR64 against actual operand at index 1 (Reg:r1): match success using generic matcher34// CHECK: Matching formal operand class MCK_BDXAddr64Disp20 against actual operand at index 2 (Mem:16(r2,r3)): match success using generic matcher35// CHECK: Matching formal operand class InvalidMatchClass against actual operand at index 3: actual operand index out of range36// CHECK: Opcode result: complete match, selecting this opcode37// CHECK: AsmMatcher: found 1 encodings with mnemonic 'stmg'38// CHECK: Trying to match opcode STMG39// CHECK: Matching formal operand class MCK_GR64 against actual operand at index 1 (Reg:r13): match success using generic matcher40// CHECK: Matching formal operand class MCK_GR64 against actual operand at index 2 (Reg:r15): match success using generic matcher41// CHECK: Matching formal operand class MCK_BDAddr64Disp20 against actual operand at index 3 (Mem:104(r15)): match success using generic matcher42// CHECK: Matching formal operand class InvalidMatchClass against actual operand at index 4: actual operand index out of range43// CHECK: Opcode result: complete match, selecting this opcode44// CHECK: AsmMatcher: found 1 encodings with mnemonic 'mvc'45// CHECK: Trying to match opcode MVC46// CHECK: Matching formal operand class MCK_BDLAddr64Disp12Len8 against actual operand at index 1 (Mem:184(8,r15)): match success using generic matcher47// CHECK: Matching formal operand class MCK_BDAddr64Disp12 against actual operand at index 2 (Mem:8(r2)): match success using generic matcher48// CHECK: Matching formal operand class InvalidMatchClass against actual operand at index 3: actual operand index out of range49// CHECK: Opcode result: complete match, selecting this opcode50// CHECK: AsmMatcher: found 1 encodings with mnemonic 'mvck'51// CHECK: Trying to match opcode MVCK52// CHECK: Matching formal operand class MCK_BDRAddr64Disp12 against actual operand at index 1 (Mem:0(r0,r1)): match success using generic matcher53// CHECK: Matching formal operand class MCK_BDAddr64Disp12 against actual operand at index 2 (Mem:4095(r15)): match success using generic matcher54// CHECK: Matching formal operand class MCK_GR64 against actual operand at index 3 (Reg:r2): match success using generic matcher55// CHECK: Matching formal operand class InvalidMatchClass against actual operand at index 4: actual operand index out of range56// CHECK: Opcode result: complete match, selecting this opcode57// CHECK: AsmMatcher: found 1 encodings with mnemonic 'j'58// CHECK: Trying to match opcode J59// CHECK: Matching formal operand class MCK_PCRel16 against actual operand at index 1 (Imm:.Ltmp0+2): match success using generic matcher60// CHECK: Matching formal operand class InvalidMatchClass against actual operand at index 2: actual operand index out of range61// CHECK: Opcode result: complete match, selecting this opcode62// CHECK: AsmMatcher: found 1 encodings with mnemonic 'brasl'63// CHECK: Trying to match opcode BRASL64// CHECK: Matching formal operand class MCK_GR64 against actual operand at index 1 (Reg:r14): match success using generic matcher65// CHECK: Matching formal operand class MCK_PCRelTLS32 against actual operand at index 2 (ImmTLS:fun): match success using generic matcher66// CHECK: Matching formal operand class InvalidMatchClass against actual operand at index 3: actual operand index out of range67// CHECK: Opcode result: complete match, selecting this opcode68// CHECK: sllg %r3, %r0, 369// CHECK: llill %r0, 070// CHECK: lgr %r1, %r071// CHECK: lg %r1, 16(%r2)72// CHECK: lg %r1, 16(%r2,%r3)73// CHECK: stmg %r13, %r15, 104(%r15)74// CHECK: mvc 184(8,%r15), 8(%r2)75// CHECK: mvck 0(%r0,%r1), 4095(%r15), %r276// CHECK: .Ltmp0:77// CHECK: j .Ltmp0+278// CHECK: brasl %r14, fun79 80 sllg %r3, %r0, 381 llill %r0, 082 lgr %r1, %r083 lg %r1, 16(%r2)84 lg %r1, 16(%r2,%r3)85 stmg %r13, %r15, 104(%r15)86 mvc 184(8,%r15), 8(%r2)87 mvck 0(%r0,%r1), 4095(%r15), %r288.Ltmp0:89 j .Ltmp0+290 brasl %r14, fun91