// REQUIRES: x86-registered-target // RUN: %clang_cc1 %s -triple=i386-unknown-unknown -S -ffreestanding -o - | FileCheck %s --check-prefix=X86 // RUN: %clang_cc1 %s -triple=x86_64-unknown-unknown -S -ffreestanding -o - | FileCheck %s --check-prefix=X64 #include // The ebx may be use for base pointer, we need to restore it in time. void ssc_mark(void) { // X86-LABEL: ssc_mark // X86: #APP // X86: movl %ebx, %eax // X86: movl $9, %ebx // X86: .byte 100 // X86: .byte 103 // X86: .byte 144 // X86: movl %eax, %ebx // X86: #NO_APP // X64-LABEL: ssc_mark // X64: #APP // X64: movq %rbx, %rax // X64: movl $9, %ebx // X64: .byte 100 // X64: .byte 103 // X64: .byte 144 // X64: movq %rax, %rbx // X64: #NO_APP __SSC_MARK(0x9); }