We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[hjl@gnu-6 interrupt-8]$ cat z.i typedef short __v4hi attribute ((vector_size (8))); typedef int __m64 attribute ((vector_size (8), may_alias));
extern __m64 y, x;
void attribute((interrupt)) fn1 (void *frame) { x = (__m64) __builtin_ia32_packsswb ((__v4hi) x, (__v4hi) y); } [hjl@gnu-6 interrupt-8]$ make z.s /export/build/gnu/llvm-clang-bootstrap/stage1/build-x86_64-linux/bin/clang -O2 -Wall -march=nehalem -S -o z.s z.i [hjl@gnu-6 interrupt-8]$ cat z.s .text .file "z.i" .globl fn1 .p2align 4, 0x90 .type fn1,@function fn1: # @fn1 .cfi_startproc
movq x(%rip), %mm0 packsswb y(%rip), %mm0 movq %mm0, x(%rip) iretq
.Lfunc_end0: .size fn1, .Lfunc_end0-fn1 .cfi_endproc
.ident "clang version 3.9.0 (http://llvm.org/git/clang.git 1f64ddbc4c5d1036b68ec896765a7535537ded85) (http://llvm.org/git/llvm.git 43b517fe4e0a181b1cf20f36fd9eb92f7b32946c)" .section ".note.GNU-stack","",@progbits
[hjl@gnu-6 interrupt-8]$
Interrupt handler must preserve MMX and X87 states. It shouldn"t be allowed to use MMX nor x87 registers.
The text was updated successfully, but these errors were encountered:
x86-interrupt
No branches or pull requests
Extended Description
[hjl@gnu-6 interrupt-8]$ cat z.i
typedef short __v4hi attribute ((vector_size (8)));
typedef int __m64 attribute ((vector_size (8), may_alias));
extern __m64 y, x;
void
attribute((interrupt))
fn1 (void *frame)
{
x = (__m64) __builtin_ia32_packsswb ((__v4hi) x, (__v4hi) y);
}
[hjl@gnu-6 interrupt-8]$ make z.s
/export/build/gnu/llvm-clang-bootstrap/stage1/build-x86_64-linux/bin/clang -O2 -Wall -march=nehalem -S -o z.s z.i
[hjl@gnu-6 interrupt-8]$ cat z.s
.text
.file "z.i"
.globl fn1
.p2align 4, 0x90
.type fn1,@function
fn1: # @fn1
.cfi_startproc
BB#0:
.Lfunc_end0:
.size fn1, .Lfunc_end0-fn1
.cfi_endproc
[hjl@gnu-6 interrupt-8]$
Interrupt handler must preserve MMX and X87 states. It shouldn"t be
allowed to use MMX nor x87 registers.
The text was updated successfully, but these errors were encountered: