fork download
  1. SECTION .bss
  2. align 64
  3. %assign size 4000h
  4. src1: resb size
  5. src1_end:
  6. src2: resb size
  7. src2_end:
  8. dst: resb size
  9. dst_end:
  10.  
  11. SECTION .text
  12. global _start
  13.  
  14. _start:
  15. vzeroupper
  16. vxorps ymm2, ymm2, ymm2
  17. mov rcx, 7031250 ; 3.6GHz -> 1 sec/clock
  18.  
  19. .L1:
  20. mov rax, -size
  21.  
  22. align 16
  23. .L2:
  24. %assign unroll 1
  25. %assign i 0
  26.  
  27. %rep unroll
  28.  
  29. vmovaps ymm1, [i+src1_end+rax]
  30. vfmadd231ps ymm1, ymm2, [i+src2_end+rax]
  31. vmovaps [i+dst_end+rax], ymm1
  32.  
  33. %assign i i+32
  34. %endrep
  35.  
  36. add rax, 32*unroll
  37. jne .L2
  38.  
  39. dec rcx
  40. jne .L1
  41.  
  42. _exit:
  43. vzeroupper
  44. mov rax, 60
  45. mov rdi, 0
  46. syscall
  47.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.asm:34: error: impossible combination of address sizes
prog.asm:34: error: invalid effective address
prog.asm:34: error: impossible combination of address sizes
prog.asm:34: error: invalid effective address
prog.asm:34: error: impossible combination of address sizes
prog.asm:34: error: invalid effective address
stdout
Standard output is empty