Files
c3c/test/test_suite/asm/asm_ops_x64_2.c3t
srkkov 8f7610345d More x86 instructions (#2964)
* Added most x86 cryptographic instructions

* Fixed popcnt test

* Fixed asm_ops_x64_2.c3t test

---------

Co-authored-by: Christoffer Lerno <christoffer@aegik.com>
2026-02-23 15:27:36 +01:00

31 lines
997 B
Plaintext

// #target: macos-x64
module test;
fn void main(String[] args)
{
int foo;
asm
{
adcx $eax, $ecx;
adcx $rax, $rcx;
addpd $xmm1, $xmm2;
addps $xmm1, $xmm2;
addsd $xmm1, $xmm2;
addss $xmm1, $xmm2;
vaddpd $xmm1, $xmm2, $xmm3;
vaddpd $ymm1, $ymm2, $ymm3;
vaddpd $xmm1, $xmm2, [&foo];
vaddps $xmm1, $xmm2, $xmm3;
vaddps $ymm1, $ymm2, $ymm3;
vaddps $xmm1, $xmm2, [&foo];
vaddsd $xmm1, $xmm2, $xmm3;
vaddsd $xmm1, $xmm2, [&foo];
vaddss $xmm1, $xmm2, $xmm3;
vaddss $xmm1, $xmm2, [&foo];
}
}
/* #expect: test.ll
"adcx %ecx, %eax\0Aadcx %rcx, %rax\0Aaddpd %xmm2, %xmm1\0Aaddps %xmm2, %xmm1\0Aaddsd %xmm2, %xmm1\0Aaddss %xmm2, %xmm1\0Avaddpd %xmm3, %xmm2, %xmm1\0Avaddpd %ymm3, %ymm2, %ymm1\0Avaddpd $0, %xmm2, %xmm1\0Avaddps %xmm3, %xmm2, %xmm1\0Avaddps %ymm3, %ymm2, %ymm1\0Avaddps $0, %xmm2, %xmm1\0Avaddsd %xmm3, %xmm2, %xmm1\0Avaddsd $0, %xmm2, %xmm1\0Avaddss %xmm3, %xmm2, %xmm1\0Avaddss $0, %xmm2, %xmm1\0A", "*m,~{cc},~{rax},~{xmm1},~{flags},~{dirflag},~{fspr}"