Test t5150:
AVX Disp8*N compression
- Description
-
Switching compression on/off in AVX-2 instruction accessing memory with granularity YWORD (32 bytes).
- Tested procedures
-
IiCompressDisp8
- Source & expected listing
t5150.htm.lst
-
| | EUROASM LIST=ON,DUMP=ON,DUMPWIDTH=36,DUMPALL=OFF,CPU=X64,SIMD=AVX512,EVEX=ON
| |t5150 PROGRAM FORMAT=BIN, LISTMAP=OFF, LISTGLOBALS=OFF
|[Mode16] |[Mode16] SEGMENT WIDTH=16,PURPOSE=CODE
|0000:0000000000000000000000000000~|Float32: DZ 8 * D ; Reserve vector of eight doublewords.
|0020:62F17C485A4E02<5 | VCVTPS2PD ZMM1,[BP+0x40] ; Compressed as disp8*32.
|0027:62F17C485A8E4000 | VCVTPS2PD ZMM1,[BP+0x40],DISP=WORD ; Uncompressed due to explicit demand.
|002F:62F17C485A8E5000 | VCVTPS2PD ZMM1,[BP+0x50] ; Uncompressed due to not YWORD aligned.
|0037:62F17C485A0E[0000] | VCVTPS2PD ZMM1,[Float32] ; Uncompressed due to relocation.
|003F: | ; Test crossing the boundery when compressed disp8 does not fit to signed int8.
|003F:62F17C485A4E7E<5 | VCVTPS2PD ZMM1,[BP+0x0FC0]
|0046:62F17C485A4E7F<5 | VCVTPS2PD ZMM1,[BP+0x0FE0]
|004D:62F17C485A8E0010 | VCVTPS2PD ZMM1,[BP+0x1000]
|0055:62F17C485A8E0012 | VCVTPS2PD ZMM1,[BP+0x1200]
|005D:62F17C485A8E00EE | VCVTPS2PD ZMM1,[BP-0x1200]
|0065:62F17C485A4E80<5 | VCVTPS2PD ZMM1,[BP-0x1000]
|006C:62F17C485A4E81<5 | VCVTPS2PD ZMM1,[BP-0x0FE0]
|0073:62F17C485A4E82<5 | VCVTPS2PD ZMM1,[BP-0x0FC0]
|[Mode32] |[Mode32] SEGMENT WIDTH=32,PURPOSE=CODE
|00000000:62F17C485A4D02<5 | VCVTPS2PD ZMM1,[EBP+0x40] ; Compressed as disp8*32.
|00000007:62F17C485A8D40000000 | VCVTPS2PD ZMM1,[EBP+0x40],DISP=DWORD ; Uncompressed due to explicit demand.
|00000011:62F17C485A8D50000000 | VCVTPS2PD ZMM1,[EBP+0x50] ; Uncompressed due to not YWORD aligned.
|0000001B:62F17C485A0D[00000000] | VCVTPS2PD ZMM1,[Float32] ; Uncompressed due to relocation.
|00000025: | ; Test crossing the boundery when compressed disp8 does not fit to signed int8.
|00000025:62F17C485A4D7E<5 | VCVTPS2PD ZMM1,[EBP+0x0FC0]
|0000002C:62F17C485A4D7F<5 | VCVTPS2PD ZMM1,[EBP+0x0FE0]
|00000033:62F17C485A8D00100000 | VCVTPS2PD ZMM1,[EBP+0x1000]
|0000003D:62F17C485A8D00120000 | VCVTPS2PD ZMM1,[EBP+0x1200]
|00000047:62F17C485A8D00EEFFFF | VCVTPS2PD ZMM1,[EBP-0x1200]
|00000051:62F17C485A4D80<5 | VCVTPS2PD ZMM1,[EBP-0x1000]
|00000058:62F17C485A4D81<5 | VCVTPS2PD ZMM1,[EBP-0x0FE0]
|0000005F:62F17C485A4D82<5 | VCVTPS2PD ZMM1,[EBP-0x0FC0]
|[Mode64] |[Mode64] SEGMENT WIDTH=64,PURPOSE=CODE
|00000000:62F17C485A4D02<5 | VCVTPS2PD ZMM1,[RBP+0x40] ; Compressed as disp8*32.
|00000007:62F17C485A8D40000000 | VCVTPS2PD ZMM1,[RBP+0x40],DISP=DWORD ; Uncompressed due to explicit demand.
|00000011:62F17C485A8D50000000 | VCVTPS2PD ZMM1,[RBP+0x50] ; Uncompressed due to not YWORD aligned.
|0000001B:62F17C485A0C25[00000000] | VCVTPS2PD ZMM1,[Float32],ADDR=ABS ; Uncompressed due to relocation.
|00000026: | ; Crossing the boundery when compressed disp8 does not fit to signed int8.
|00000026:62F17C485A4D7E<5 | VCVTPS2PD ZMM1,[RBP+0x0FC0]
|0000002D:62F17C485A4D7F<5 | VCVTPS2PD ZMM1,[RBP+0x0FE0]
|00000034:62F17C485A8D00100000 | VCVTPS2PD ZMM1,[RBP+0x1000]
|0000003E:62F17C485A8D00120000 | VCVTPS2PD ZMM1,[RBP+0x1200]
|00000048:62F17C485A8D00EEFFFF | VCVTPS2PD ZMM1,[RBP-0x1200]
|00000052:62F17C485A4D80<5 | VCVTPS2PD ZMM1,[RBP-0x1000]
|00000059:62F17C485A4D81<5 | VCVTPS2PD ZMM1,[RBP-0x0FE0]
|00000060:62F17C485A4D82<5 | VCVTPS2PD ZMM1,[RBP-0x0FC0]
| |ENDPROGRAM t5150
- Expected messages
t5150.out
I0180 Assembling source file "t5150.htm".
I0270 Assembling source "t5150".
I0310 Assembling source pass 1.
I0330 Assembling source pass 2 - final.
I0470 Assembling program "t5150". "t5150.htm"{52}
I0510 Assembling program pass 1. "t5150.htm"{52}
I0510 Assembling program pass 2. "t5150.htm"{52}
I0530 Assembling program pass 3 - final. "t5150.htm"{52}
I0660 16bit TINY BIN file "t5150.bin" created, size=343. "t5150.htm"{96}
I0650 Program "t5150" assembled in 3 passes with errorlevel 0. "t5150.htm"{96}
I0750 Source "t5150" (115 lines) assembled in 2 passes with errorlevel 0.
I0860 Listing file "t5150.htm.lst" created, size=3777.
I0990 EuroAssembler terminated with errorlevel 0.
▲Back to the top▲