30 lines
775 B
C
30 lines
775 B
C
// 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 <immintrin.h>
|
|
|
|
// 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);
|
|
}
|