llvm-project/clang/test/CodeGen/aarch64-inlineasm-ios.c
David Tellenbach 8f159096e0
[AsmPrinter] Don't check for inlineasm dialect on non-X86 platforms (#98097)
AArch64 uses MCAsmInfo::AssemblerDialect to control the style of emitted
Neon assembly. E.g. Apple platforms use AsmWriterVariantTy::Apple by
default which collides with InlineAsm::AD_Intel (both value 1). Checking
for inlineasm dialects on non-X86 platforms can thus lead to problems.
2024-07-09 12:44:52 -07:00

24 lines
646 B
C

// REQUIRES: aarch64-registered-target
// RUN: %clang_cc1 -triple arm64-apple-ios -S -o - %s | FileCheck %s
// CHECK: _restartable_function:
// CHECK-NEXT: ldr x11, [x0]
// CHECK-NEXT: add x11, x11, #1
// CHECK-NEXT: str x11, [x0]
// CHECK-NEXT: Ltmp0:
// CHECK-NEXT: b Ltmp0
// CHECK-NEXT: LExit_restartable_function:
// CHECK-NEXT: ret
asm(".align 4\n"
" .text\n"
" .private_extern _restartable_function\n"
"_restartable_function:\n"
" ldr x11, [x0]\n"
" add x11, x11, #1\n"
" str x11, [x0]\n"
"1:\n"
" b 1b\n"
"LExit_restartable_function:\n"
" ret\n"
);