brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · c8dcc96 Raw
77 lines · plain
1// RUN: llvm-mc -triple i686-unknown-unknown -x86-asm-syntax=intel %s | FileCheck %s --check-prefixes=CHECK-32,CHECK2// RUN: llvm-mc -triple x86_64-unknown-unknown --defsym X64=1 -x86-asm-syntax=intel %s | FileCheck %s --check-prefixes=CHECK-64,CHECK3 4// RUN: not llvm-mc -triple i686-unknown-unknown --defsym ERR=1 -x86-asm-syntax=intel %s 2>&1 | FileCheck %s --check-prefixes=ERR-325 6t0:7call direct_branch8jmp direct_branch9// CHECK-LABEL: t0:10// CHECK-64: callq direct_branch11// CHECK-32: calll direct_branch12// CHECK:    jmp direct_branch13 14t1:15call [fn_ref]16jmp [fn_ref]17// CHECK-LABEL: t1:18// CHECK-64: callq *fn_ref19// CHECK-64: jmpq *fn_ref20// CHECK-32: calll *fn_ref21// CHECK-32: jmpl *fn_ref22 23.ifdef X6424 25  t2:26  call qword ptr [fn_ref]27  jmp qword ptr [fn_ref]28  // CHECK-64-LABEL: t2:29  // CHECK-64: callq *fn_ref30  // CHECK-64: jmpq *fn_ref31 32  t3:33  call qword ptr [rip + fn_ref]34  jmp qword ptr [rip + fn_ref]35  // CHECK-64-LABEL: t3:36  // CHECK-64: callq *fn_ref(%rip)37  // CHECK-64: jmpq *fn_ref(%rip)38 39.else40 41  t4:42  call dword ptr [fn_ref]43  jmp dword ptr [fn_ref]44  // CHECK-32-LABEL: t4:45  // CHECK-32: calll *fn_ref46  // CHECK-32: jmpl *fn_ref47 48  t5:49  call dword ptr fn_ref50  jmp dword ptr fn_ref51  // CHECK-32-LABEL: t5:52  // CHECK-32: calll *fn_ref53  // CHECK-32: jmpl *fn_ref54 55  t6:56  call dword ptr [offset fn_ref]57  jmp dword ptr [offset fn_ref]58  // CHECK-32-LABEL: t6:59  // CHECK-32: calll *fn_ref60  // CHECK-32: jmpl *fn_ref61 62.ifdef ERR63 64  call [offset fn_ref]65  // ERR-32: {{.*}}.s:[[#@LINE-1]]:8: error: `OFFSET` operator cannot be used in an unconditional branch66  jmp [offset fn_ref]67  // ERR-32: {{.*}}.s:[[#@LINE-1]]:7: error: `OFFSET` operator cannot be used in an unconditional branch68 69  call offset fn_ref70  // ERR-32: {{.*}}.s:[[#@LINE-1]]:3: error: invalid operand for instruction71  jmp offset fn_ref72  // ERR-32: {{.*}}.s:[[#@LINE-1]]:3: error: invalid operand for instruction73 74.endif75 76.endif77