From 7937b7e52de12e853348ec84bd6b1bef0e7fe0c7 Mon Sep 17 00:00:00 2001 From: Ryan Houdek Date: Sat, 11 Oct 2025 21:52:39 -0700 Subject: [PATCH] unittests: Fixes mixture of code and data in the same page Test behaviour themselves not changed at all, just data moved or aligned. For tests that aren't explicitly testing out SMC behaviour, we were accidentally relying on some aggressive SMC tracking by mixing data and code in the same page. To fix this just align the test's data to the next page boundary which means FEX's SMC tracking won't get triggered since it is no longer living in the same page. This has been a thorn for a while, so just get rid of it. We obviously still have ASM tests that still exist that /do/ rely on SMC, and those are still expected to work. --- unittests/32Bit_ASM/FEX_bugs/VEXW_Bug.asm | 2 +- unittests/32Bit_ASM/Secondary/07_XX_00.asm | 1 + .../vgather_qpd_128bit_1xdisp_overflow.asm | 2 +- .../vgather_qpd_128bit_2xdisp_overflow.asm | 2 +- .../vgather_qpd_128bit_4xdisp_overflow.asm | 2 +- .../vgather_qpd_128bit_8xdisp_overflow.asm | 2 +- .../vgather_qpd_256bit_1xdisp_overflow.asm | 2 +- .../vgather_qpd_256bit_2xdisp_overflow.asm | 2 +- .../vgather_qpd_256bit_4xdisp_overflow.asm | 2 +- .../vgather_qpd_256bit_8xdisp_overflow.asm | 2 +- .../vgather_qps_128bit_1xdisp_overflow.asm | 2 +- .../vgather_qps_128bit_2xdisp_overflow.asm | 2 +- .../vgather_qps_128bit_4xdisp_overflow.asm | 2 +- .../vgather_qps_128bit_8xdisp_overflow.asm | 2 +- .../vgather_qps_256bit_1xdisp_overflow.asm | 2 +- .../vgather_qps_256bit_2xdisp_overflow.asm | 2 +- .../vgather_qps_256bit_4xdisp_overflow.asm | 2 +- .../vgather_qps_256bit_8xdisp_overflow.asm | 2 +- .../vpgather_qd_128bit_1xdisp_overflow.asm | 2 +- .../vpgather_qd_128bit_2xdisp_overflow.asm | 2 +- .../vpgather_qd_128bit_4xdisp_overflow.asm | 2 +- .../vpgather_qd_128bit_8xdisp_overflow.asm | 2 +- .../vpgather_qd_256bit_1xdisp_overflow.asm | 2 +- .../vpgather_qd_256bit_2xdisp_overflow.asm | 2 +- .../vpgather_qd_256bit_4xdisp_overflow.asm | 2 +- .../vpgather_qd_256bit_8xdisp_overflow.asm | 2 +- .../vpgather_qq_128bit_1xdisp_overflow.asm | 2 +- .../vpgather_qq_128bit_2xdisp_overflow.asm | 2 +- .../vpgather_qq_128bit_4xdisp_overflow.asm | 2 +- .../vpgather_qq_128bit_8xdisp_overflow.asm | 2 +- .../vpgather_qq_256bit_1xdisp_overflow.asm | 2 +- .../vpgather_qq_256bit_2xdisp_overflow.asm | 2 +- .../vpgather_qq_256bit_4xdisp_overflow.asm | 2 +- .../vpgather_qq_256bit_8xdisp_overflow.asm | 2 +- unittests/32Bit_ASM/X87/D9_02.asm | 3 +- unittests/32Bit_ASM/X87/D9_03.asm | 3 +- unittests/32Bit_ASM/X87/D9_06.asm | 3 +- unittests/32Bit_ASM/X87/D9_06_2.asm | 3 +- unittests/32Bit_ASM/X87/D9_F6.asm | 14 +++----- unittests/32Bit_ASM/X87/D9_F7.asm | 14 +++----- unittests/32Bit_ASM/X87/DA_00.asm | 5 +-- unittests/32Bit_ASM/X87/DA_01.asm | 5 +-- unittests/32Bit_ASM/X87/DA_04.asm | 5 +-- unittests/32Bit_ASM/X87/DA_05.asm | 5 +-- unittests/32Bit_ASM/X87/DA_06.asm | 5 +-- unittests/32Bit_ASM/X87/DA_07.asm | 5 +-- unittests/32Bit_ASM/X87/DB_01.asm | 3 +- unittests/32Bit_ASM/X87/DB_02.asm | 3 +- unittests/32Bit_ASM/X87/DB_03.asm | 3 +- unittests/32Bit_ASM/X87/DB_07.asm | 6 ++-- unittests/32Bit_ASM/X87/DB_E3.asm | 10 +++--- unittests/32Bit_ASM/X87/DD_01.asm | 8 ++--- unittests/32Bit_ASM/X87/DD_02.asm | 8 ++--- unittests/32Bit_ASM/X87/DD_03.asm | 8 ++--- unittests/32Bit_ASM/X87/DD_04.asm | 3 +- unittests/32Bit_ASM/X87/DD_04_2.asm | 3 +- unittests/32Bit_ASM/X87/DD_07.asm | 3 +- unittests/32Bit_ASM/X87/DE_00.asm | 5 +-- unittests/32Bit_ASM/X87/DE_01.asm | 5 +-- unittests/32Bit_ASM/X87/DE_04.asm | 5 +-- unittests/32Bit_ASM/X87/DE_05.asm | 5 +-- unittests/32Bit_ASM/X87/DE_06.asm | 5 +-- unittests/32Bit_ASM/X87/DE_07.asm | 5 +-- unittests/32Bit_ASM/X87/DF_01.asm | 8 ++--- unittests/32Bit_ASM/X87/DF_02.asm | 3 +- unittests/32Bit_ASM/X87/DF_03.asm | 3 +- unittests/32Bit_ASM/X87/DF_07.asm | 3 +- unittests/32Bit_ASM/X87/FST_AddrModes.asm | 11 +++--- unittests/32Bit_ASM/X87/RoundingNeg.asm | 28 +++++++-------- unittests/32Bit_ASM/X87/RoundingPos.asm | 27 +++++++------- unittests/32Bit_ASM/X87/invalid_fist_nan.asm | 1 + .../32Bit_ASM/X87/invalid_fist_overflow.asm | 1 + .../X87/invalid_fist_overflow_16bit.asm | 1 + .../X87/invalid_fist_overflow_32bit.asm | 1 + .../X87/invalid_fist_overflow_64bit.asm | 1 + .../32Bit_ASM/X87/invalid_fptan_infinity.asm | 1 + .../32Bit_ASM/X87/invalid_fsin_infinity.asm | 1 + .../X87/invalid_fsincos_infinity.asm | 1 + .../X87/invalid_infinity_fsub_memory.asm | 9 ++--- .../X87/invalid_reduced_precision.asm | 11 +++--- unittests/32Bit_ASM/X87/valid_fist_16bit.asm | 7 ++-- unittests/ASM/3DNow/86.asm | 16 ++++----- unittests/ASM/3DNow/87.asm | 16 ++++----- unittests/ASM/3DNow/96.asm | 8 ++--- unittests/ASM/3DNow/97.asm | 14 ++++---- unittests/ASM/DAZTest.asm | 2 +- .../FEX_bugs/LargeRotatesForSmallSizes.asm | 1 + unittests/ASM/FEX_bugs/TrickyRA.asm | 3 +- unittests/ASM/FEX_bugs/fxrstor_bug.asm | 2 +- unittests/ASM/FEX_bugs/fxsave_bug.asm | 2 +- .../FEX_bugs/mmx_x87_register_conflating.asm | 3 +- .../ASM/FEX_bugs/overlapping_memcpy_bug.asm | 1 + unittests/ASM/FEX_bugs/repeat_on_incdec.asm | 1 + unittests/ASM/FEX_bugs/sbbNZCVBug.asm | 1 + .../ASM/FEX_bugs/smallvectorload_regreg.asm | 3 +- .../ASM/FEX_bugs/x87DecrementStackBug.asm | 1 + .../ASM/FEX_bugs/x87IncrementStackBug.asm | 1 + unittests/ASM/FEX_bugs/x87_fprem.asm | 1 + .../ASM/FEX_bugs/x87_integer_indefinite.asm | 1 + unittests/ASM/H0F3A/66_08.asm | 2 +- unittests/ASM/H0F3A/66_09.asm | 2 +- unittests/ASM/H0F3A/66_0A.asm | 2 +- unittests/ASM/H0F3A/66_0B.asm | 2 +- unittests/ASM/H0F3A/66_0E.asm | 2 +- unittests/ASM/H0F3A/66_22_2.asm | 8 ++--- unittests/ASM/H0F3A/pcmpestri_equal_any.asm | 2 +- unittests/ASM/H0F3A/pcmpestri_equal_each.asm | 2 +- .../ASM/H0F3A/pcmpestri_equal_ordered.asm | 2 +- unittests/ASM/H0F3A/pcmpestri_ranges.asm | 2 +- unittests/ASM/H0F3A/pcmpestrm_equal_any.asm | 2 +- unittests/ASM/H0F3A/pcmpestrm_equal_each.asm | 2 +- .../ASM/H0F3A/pcmpestrm_equal_ordered.asm | 2 +- unittests/ASM/H0F3A/pcmpestrm_ranges.asm | 2 +- unittests/ASM/H0F3A/pcmpistri_equal_any.asm | 2 +- unittests/ASM/H0F3A/pcmpistri_equal_each.asm | 2 +- .../ASM/H0F3A/pcmpistri_equal_ordered.asm | 2 +- unittests/ASM/H0F3A/pcmpistri_ranges.asm | 2 +- unittests/ASM/H0F3A/pcmpistrm_equal_any.asm | 2 +- unittests/ASM/H0F3A/pcmpistrm_equal_each.asm | 2 +- .../ASM/H0F3A/pcmpistrm_equal_ordered.asm | 2 +- unittests/ASM/H0F3A/pcmpistrm_ranges.asm | 2 +- unittests/ASM/OpSize/66_17.asm | 2 +- unittests/ASM/Primary/Primary_D7.asm | 1 + unittests/ASM/PrimaryGroup/3_F6_03_2.asm | 2 +- unittests/ASM/REP/F3_52.asm | 20 +++++------ unittests/ASM/REP/F3_53.asm | 13 +++---- unittests/ASM/Secondary/07_XX_00.asm | 1 + unittests/ASM/Secondary/15_F3_00.asm | 1 + unittests/ASM/Secondary/15_F3_02.asm | 1 + unittests/ASM/Secondary/15_F3_02_2.asm | 1 + unittests/ASM/TwoByte/0F_17.asm | 2 +- unittests/ASM/TwoByte/0F_52.asm | 11 +++--- unittests/ASM/TwoByte/0F_53.asm | 13 ++++--- unittests/ASM/VEX/vcvtps2ph_rd.asm | 2 +- unittests/ASM/VEX/vcvtps2ph_rd_mxcsr.asm | 2 +- unittests/ASM/VEX/vcvtps2ph_rtne.asm | 2 +- unittests/ASM/VEX/vcvtps2ph_rtne_mxcsr.asm | 2 +- unittests/ASM/VEX/vcvtps2ph_ru.asm | 2 +- unittests/ASM/VEX/vcvtps2ph_ru_mxcsr.asm | 2 +- unittests/ASM/VEX/vcvtps2ph_trunc.asm | 2 +- unittests/ASM/VEX/vcvtps2ph_trunc_mxcsr.asm | 2 +- unittests/ASM/VEX/vextractf128.asm | 2 +- unittests/ASM/VEX/vextracti128.asm | 2 +- .../ASM/VEX/vgather_dpd_128bit_1xdisp.asm | 2 +- .../ASM/VEX/vgather_dpd_128bit_2xdisp.asm | 2 +- .../ASM/VEX/vgather_dpd_128bit_4xdisp.asm | 2 +- .../ASM/VEX/vgather_dpd_128bit_8xdisp.asm | 2 +- .../ASM/VEX/vgather_dpd_256bit_1xdisp.asm | 2 +- .../ASM/VEX/vgather_dpd_256bit_2xdisp.asm | 2 +- .../ASM/VEX/vgather_dpd_256bit_4xdisp.asm | 2 +- .../ASM/VEX/vgather_dpd_256bit_8xdisp.asm | 2 +- .../ASM/VEX/vgather_dps_128bit_1xdisp.asm | 2 +- .../ASM/VEX/vgather_dps_128bit_2xdisp.asm | 2 +- .../ASM/VEX/vgather_dps_128bit_4xdisp.asm | 2 +- .../ASM/VEX/vgather_dps_128bit_8xdisp.asm | 2 +- .../ASM/VEX/vgather_dps_256bit_1xdisp.asm | 2 +- .../ASM/VEX/vgather_dps_256bit_2xdisp.asm | 2 +- .../ASM/VEX/vgather_dps_256bit_4xdisp.asm | 2 +- .../ASM/VEX/vgather_dps_256bit_8xdisp.asm | 2 +- .../ASM/VEX/vgather_qpd_128bit_1xdisp.asm | 2 +- .../vgather_qpd_128bit_1xdisp_overflow.asm | 2 +- .../ASM/VEX/vgather_qpd_128bit_2xdisp.asm | 2 +- .../vgather_qpd_128bit_2xdisp_overflow.asm | 2 +- .../ASM/VEX/vgather_qpd_128bit_4xdisp.asm | 2 +- .../vgather_qpd_128bit_4xdisp_overflow.asm | 2 +- .../ASM/VEX/vgather_qpd_128bit_8xdisp.asm | 2 +- .../vgather_qpd_128bit_8xdisp_overflow.asm | 2 +- .../ASM/VEX/vgather_qpd_256bit_1xdisp.asm | 2 +- .../vgather_qpd_256bit_1xdisp_overflow.asm | 2 +- .../ASM/VEX/vgather_qpd_256bit_2xdisp.asm | 2 +- .../vgather_qpd_256bit_2xdisp_overflow.asm | 2 +- .../ASM/VEX/vgather_qpd_256bit_4xdisp.asm | 2 +- .../vgather_qpd_256bit_4xdisp_overflow.asm | 2 +- .../ASM/VEX/vgather_qpd_256bit_8xdisp.asm | 2 +- .../vgather_qpd_256bit_8xdisp_overflow.asm | 2 +- .../ASM/VEX/vgather_qps_128bit_1xdisp.asm | 2 +- .../vgather_qps_128bit_1xdisp_overflow.asm | 2 +- .../ASM/VEX/vgather_qps_128bit_2xdisp.asm | 2 +- .../vgather_qps_128bit_2xdisp_overflow.asm | 2 +- .../ASM/VEX/vgather_qps_128bit_4xdisp.asm | 2 +- .../vgather_qps_128bit_4xdisp_overflow.asm | 2 +- .../ASM/VEX/vgather_qps_128bit_8xdisp.asm | 2 +- .../vgather_qps_128bit_8xdisp_overflow.asm | 2 +- .../ASM/VEX/vgather_qps_256bit_1xdisp.asm | 2 +- .../vgather_qps_256bit_1xdisp_overflow.asm | 2 +- .../ASM/VEX/vgather_qps_256bit_2xdisp.asm | 2 +- .../vgather_qps_256bit_2xdisp_overflow.asm | 2 +- .../ASM/VEX/vgather_qps_256bit_4xdisp.asm | 2 +- .../vgather_qps_256bit_4xdisp_overflow.asm | 2 +- .../ASM/VEX/vgather_qps_256bit_8xdisp.asm | 2 +- .../vgather_qps_256bit_8xdisp_overflow.asm | 2 +- unittests/ASM/VEX/vmaskmovdqu.asm | 2 +- unittests/ASM/VEX/vmaskmovpd_load.asm | 2 +- unittests/ASM/VEX/vmaskmovpd_store.asm | 2 +- unittests/ASM/VEX/vmaskmovps_load.asm | 2 +- unittests/ASM/VEX/vmaskmovps_store.asm | 2 +- unittests/ASM/VEX/vmovdqa.asm | 2 +- unittests/ASM/VEX/vmovdqu.asm | 2 +- unittests/ASM/VEX/vmovhpd.asm | 2 +- unittests/ASM/VEX/vmovhps.asm | 2 +- unittests/ASM/VEX/vmovlpd.asm | 2 +- unittests/ASM/VEX/vmovlps.asm | 2 +- unittests/ASM/VEX/vmovntpd.asm | 2 +- unittests/ASM/VEX/vmovsd_to_mem.asm | 4 +-- unittests/ASM/VEX/vpcmpeqb.asm | 2 +- unittests/ASM/VEX/vpcmpeqd.asm | 2 +- unittests/ASM/VEX/vpcmpeqq.asm | 2 +- unittests/ASM/VEX/vpcmpeqw.asm | 2 +- unittests/ASM/VEX/vpcmpestri_equal_any.asm | 2 +- unittests/ASM/VEX/vpcmpestri_equal_each.asm | 2 +- .../ASM/VEX/vpcmpestri_equal_ordered.asm | 2 +- unittests/ASM/VEX/vpcmpestri_ranges.asm | 2 +- unittests/ASM/VEX/vpcmpestrm_equal_any.asm | 2 +- unittests/ASM/VEX/vpcmpestrm_equal_each.asm | 2 +- .../ASM/VEX/vpcmpestrm_equal_ordered.asm | 2 +- unittests/ASM/VEX/vpcmpestrm_ranges.asm | 2 +- unittests/ASM/VEX/vpcmpgtb.asm | 4 +-- unittests/ASM/VEX/vpcmpgtd.asm | 2 +- unittests/ASM/VEX/vpcmpgtq.asm | 2 +- unittests/ASM/VEX/vpcmpgtw.asm | 2 +- unittests/ASM/VEX/vpcmpistri_equal_any.asm | 2 +- unittests/ASM/VEX/vpcmpistri_equal_each.asm | 2 +- .../ASM/VEX/vpcmpistri_equal_ordered.asm | 2 +- unittests/ASM/VEX/vpcmpistri_ranges.asm | 2 +- unittests/ASM/VEX/vpcmpistrm_equal_any.asm | 2 +- unittests/ASM/VEX/vpcmpistrm_equal_each.asm | 2 +- .../ASM/VEX/vpcmpistrm_equal_ordered.asm | 2 +- unittests/ASM/VEX/vpcmpistrm_ranges.asm | 2 +- .../ASM/VEX/vpgather_dd_128bit_1xdisp.asm | 2 +- .../ASM/VEX/vpgather_dd_128bit_2xdisp.asm | 2 +- .../ASM/VEX/vpgather_dd_128bit_4xdisp.asm | 2 +- .../ASM/VEX/vpgather_dd_128bit_8xdisp.asm | 2 +- .../ASM/VEX/vpgather_dd_256bit_1xdisp.asm | 2 +- .../ASM/VEX/vpgather_dd_256bit_2xdisp.asm | 2 +- .../ASM/VEX/vpgather_dd_256bit_4xdisp.asm | 2 +- .../ASM/VEX/vpgather_dd_256bit_8xdisp.asm | 2 +- .../ASM/VEX/vpgather_dq_128bit_1xdisp.asm | 2 +- .../ASM/VEX/vpgather_dq_128bit_2xdisp.asm | 2 +- .../ASM/VEX/vpgather_dq_128bit_4xdisp.asm | 2 +- .../ASM/VEX/vpgather_dq_128bit_8xdisp.asm | 2 +- .../ASM/VEX/vpgather_dq_256bit_1xdisp.asm | 2 +- .../ASM/VEX/vpgather_dq_256bit_2xdisp.asm | 2 +- .../ASM/VEX/vpgather_dq_256bit_4xdisp.asm | 2 +- .../ASM/VEX/vpgather_dq_256bit_8xdisp.asm | 2 +- .../ASM/VEX/vpgather_qd_128bit_1xdisp.asm | 2 +- .../vpgather_qd_128bit_1xdisp_overflow.asm | 2 +- .../ASM/VEX/vpgather_qd_128bit_2xdisp.asm | 2 +- .../vpgather_qd_128bit_2xdisp_overflow.asm | 2 +- .../ASM/VEX/vpgather_qd_128bit_4xdisp.asm | 2 +- .../vpgather_qd_128bit_4xdisp_overflow.asm | 2 +- .../ASM/VEX/vpgather_qd_128bit_8xdisp.asm | 2 +- .../vpgather_qd_128bit_8xdisp_overflow.asm | 2 +- .../ASM/VEX/vpgather_qd_256bit_1xdisp.asm | 2 +- .../vpgather_qd_256bit_1xdisp_overflow.asm | 2 +- .../ASM/VEX/vpgather_qd_256bit_2xdisp.asm | 2 +- .../vpgather_qd_256bit_2xdisp_overflow.asm | 2 +- .../ASM/VEX/vpgather_qd_256bit_4xdisp.asm | 2 +- .../vpgather_qd_256bit_4xdisp_overflow.asm | 2 +- .../ASM/VEX/vpgather_qd_256bit_8xdisp.asm | 2 +- .../vpgather_qd_256bit_8xdisp_overflow.asm | 2 +- .../ASM/VEX/vpgather_qq_128bit_1xdisp.asm | 2 +- .../vpgather_qq_128bit_1xdisp_overflow.asm | 2 +- .../ASM/VEX/vpgather_qq_128bit_2xdisp.asm | 2 +- .../vpgather_qq_128bit_2xdisp_overflow.asm | 2 +- .../ASM/VEX/vpgather_qq_128bit_4xdisp.asm | 2 +- .../vpgather_qq_128bit_4xdisp_overflow.asm | 2 +- .../ASM/VEX/vpgather_qq_128bit_8xdisp.asm | 2 +- .../vpgather_qq_128bit_8xdisp_overflow.asm | 2 +- .../ASM/VEX/vpgather_qq_256bit_1xdisp.asm | 2 +- .../vpgather_qq_256bit_1xdisp_overflow.asm | 2 +- .../ASM/VEX/vpgather_qq_256bit_2xdisp.asm | 2 +- .../vpgather_qq_256bit_2xdisp_overflow.asm | 2 +- .../ASM/VEX/vpgather_qq_256bit_4xdisp.asm | 2 +- .../vpgather_qq_256bit_4xdisp_overflow.asm | 2 +- .../ASM/VEX/vpgather_qq_256bit_8xdisp.asm | 2 +- .../vpgather_qq_256bit_8xdisp_overflow.asm | 2 +- unittests/ASM/VEX/vpmaskmovd_store.asm | 2 +- unittests/ASM/VEX/vpmaskmovq_store.asm | 2 +- unittests/ASM/VEX/vrcpps.asm | 8 ++--- unittests/ASM/VEX/vrcpss.asm | 8 ++--- unittests/ASM/VEX/vroundpd.asm | 2 +- unittests/ASM/VEX/vroundps.asm | 2 +- unittests/ASM/VEX/vroundsd.asm | 2 +- unittests/ASM/VEX/vroundss.asm | 2 +- unittests/ASM/VEX/vrsqrtps.asm | 14 ++++---- unittests/ASM/VEX/vrsqrtss.asm | 16 ++++----- unittests/ASM/X87/D9_F5.asm | 2 +- unittests/ASM/X87/D9_F5_2.asm | 2 +- unittests/ASM/X87/D9_F5_3.asm | 2 +- unittests/ASM/X87/D9_F6.asm | 15 +++----- unittests/ASM/X87/D9_F7.asm | 15 +++----- unittests/ASM/X87/DA_00.asm | 1 + unittests/ASM/X87/DA_01.asm | 1 + unittests/ASM/X87/DA_04.asm | 1 + unittests/ASM/X87/DA_05.asm | 1 + unittests/ASM/X87/DA_06.asm | 1 + unittests/ASM/X87/DA_07.asm | 1 + unittests/ASM/X87/DB_07.asm | 2 +- unittests/ASM/X87/DB_07_2.asm | 2 +- unittests/ASM/X87/DB_E3.asm | 9 ++--- unittests/ASM/X87/DD_01.asm | 2 +- unittests/ASM/X87/DD_02.asm | 2 +- unittests/ASM/X87/DD_03.asm | 2 +- unittests/ASM/X87/DE_00.asm | 1 + unittests/ASM/X87/DE_01.asm | 1 + unittests/ASM/X87/DE_04.asm | 1 + unittests/ASM/X87/DE_05.asm | 1 + unittests/ASM/X87/DE_06.asm | 1 + unittests/ASM/X87/DE_07.asm | 1 + unittests/ASM/X87/DF_01.asm | 2 +- unittests/ASM/X87/DF_04.asm | 1 + unittests/ASM/X87/FST_AddrModes.asm | 9 +++-- unittests/ASM/X87/FScale-Zero.asm | 16 +++------ unittests/ASM/X87/MemcopyWithCPUID.asm | 24 ++++++------- unittests/ASM/X87/Rounding.asm | 35 ++++++++---------- unittests/ASM/X87/X87MMXInteraction.asm | 9 ++--- unittests/ASM/X87/invalid_fcos_infinity.asm | 1 + unittests/ASM/X87/invalid_fist_nan.asm | 2 +- unittests/ASM/X87/invalid_fist_overflow.asm | 2 +- .../ASM/X87/invalid_fist_overflow_16bit.asm | 15 +++----- .../ASM/X87/invalid_fist_overflow_32bit.asm | 15 +++----- .../ASM/X87/invalid_fist_overflow_64bit.asm | 15 +++----- unittests/ASM/X87/invalid_fptan_infinity.asm | 1 + unittests/ASM/X87/invalid_fsin_infinity.asm | 1 + .../ASM/X87/invalid_fsin_neg_infinity.asm | 1 + .../ASM/X87/invalid_fsincos_infinity.asm | 1 + .../ASM/X87/invalid_reduced_precision.asm | 2 +- unittests/ASM/X87/precision_test_fabs.asm | 1 + unittests/ASM/X87/precision_test_fadd.asm | 1 + unittests/ASM/X87/precision_test_fcos.asm | 1 + unittests/ASM/X87/precision_test_fdiv.asm | 1 + unittests/ASM/X87/precision_test_fdivr.asm | 1 + unittests/ASM/X87/precision_test_fmul.asm | 1 + unittests/ASM/X87/precision_test_fprem.asm | 1 + unittests/ASM/X87/precision_test_fprem1.asm | 1 + unittests/ASM/X87/precision_test_fscale.asm | 1 + unittests/ASM/X87/precision_test_fsin.asm | 1 + unittests/ASM/X87/precision_test_fsqrt.asm | 1 + unittests/ASM/X87/precision_test_fsub.asm | 1 + unittests/ASM/X87/precision_test_fsubr.asm | 1 + unittests/ASM/X87/precision_test_ftan.asm | 1 + unittests/ASM/X87/precision_test_fyl2x.asm | 1 + unittests/ASM/X87/precision_test_fyl2xp1.asm | 1 + unittests/ASM/X87/precision_test_neg_fabs.asm | 1 + unittests/ASM/X87/precision_test_neg_fadd.asm | 1 + unittests/ASM/X87/precision_test_neg_fcos.asm | 1 + unittests/ASM/X87/precision_test_neg_fdiv.asm | 1 + .../ASM/X87/precision_test_neg_fdivr.asm | 1 + unittests/ASM/X87/precision_test_neg_fmul.asm | 1 + .../ASM/X87/precision_test_neg_fprem.asm | 1 + .../ASM/X87/precision_test_neg_fprem1.asm | 1 + .../ASM/X87/precision_test_neg_fscale.asm | 1 + unittests/ASM/X87/precision_test_neg_fsin.asm | 1 + unittests/ASM/X87/precision_test_neg_fsub.asm | 1 + .../ASM/X87/precision_test_neg_fsubr.asm | 1 + unittests/ASM/X87/precision_test_neg_ftan.asm | 1 + .../ASM/X87/precision_test_neg_fyl2x.asm | 1 + .../ASM/X87/precision_test_neg_fyl2xp1.asm | 1 + unittests/ASM/X87/valid_fist_16bit.asm | 15 +++----- unittests/ASM/X87_F64/D9_F4_02_F64.asm | 19 ++++------ unittests/ASM/X87_F64/D9_F6_F64.asm | 15 +++----- unittests/ASM/X87_F64/D9_F7_F64.asm | 15 +++----- unittests/ASM/X87_F64/D9_F8_F64.asm | 2 +- unittests/ASM/X87_F64/DB_07_F64.asm | 2 +- unittests/ASM/X87_F64/DB_E3.asm | 10 +++--- unittests/ASM/X87_F64/DC_01_F64.asm | 2 +- unittests/ASM/X87_F64/DC_C8_F64.asm | 2 +- unittests/ASM/X87_F64/DC_E0_F64.asm | 2 +- unittests/ASM/X87_F64/DC_E8_F64.asm | 2 +- unittests/ASM/X87_F64/DC_F0_F64.asm | 2 +- unittests/ASM/X87_F64/DC_F8_F64.asm | 2 +- unittests/ASM/X87_F64/DD_01_F64.asm | 2 +- unittests/ASM/X87_F64/DD_02_F64.asm | 2 +- unittests/ASM/X87_F64/DD_03_F64.asm | 2 +- unittests/ASM/X87_F64/DD_D0_2_F64.asm | 4 +-- unittests/ASM/X87_F64/DD_D0_F64.asm | 2 +- unittests/ASM/X87_F64/DD_D8_F64.asm | 2 +- unittests/ASM/X87_F64/DF_01_F64.asm | 2 +- unittests/ASM/X87_F64/DF_04_F64.asm | 4 +-- unittests/ASM/X87_F64/FScale-Zero_F64.asm | 11 +++--- unittests/ASM/X87_F64/Rounding_F64.asm | 36 +++++++++---------- unittests/ASM/x87_stack.asm | 1 + 382 files changed, 630 insertions(+), 664 deletions(-) diff --git a/unittests/32Bit_ASM/FEX_bugs/VEXW_Bug.asm b/unittests/32Bit_ASM/FEX_bugs/VEXW_Bug.asm index e3d87d4d3..3a6082614 100644 --- a/unittests/32Bit_ASM/FEX_bugs/VEXW_Bug.asm +++ b/unittests/32Bit_ASM/FEX_bugs/VEXW_Bug.asm @@ -69,7 +69,7 @@ vpinsrd xmm5, dword [rel .data_temp + 8], 1 hlt -align 16 +align 4096 .data_xmm0: dq 0x400c000000000000, 0x400c000000000000 .data_xmm1: diff --git a/unittests/32Bit_ASM/Secondary/07_XX_00.asm b/unittests/32Bit_ASM/Secondary/07_XX_00.asm index c62aaba0e..9b0b907ac 100644 --- a/unittests/32Bit_ASM/Secondary/07_XX_00.asm +++ b/unittests/32Bit_ASM/Secondary/07_XX_00.asm @@ -14,6 +14,7 @@ movzx eax, word [rel data] mov ebx, dword [rel data + 2] hlt +align 4096 data: ; Limit dw 0 diff --git a/unittests/32Bit_ASM/VEX/vgather_qpd_128bit_1xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vgather_qpd_128bit_1xdisp_overflow.asm index 22e2fc5be..53f14233d 100644 --- a/unittests/32Bit_ASM/VEX/vgather_qpd_128bit_1xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vgather_qpd_128bit_1xdisp_overflow.asm @@ -48,7 +48,7 @@ vgatherqpd xmm7, [xmm0 * 1 + eax + 1], xmm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/32Bit_ASM/VEX/vgather_qpd_128bit_2xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vgather_qpd_128bit_2xdisp_overflow.asm index 1aafa41c7..0868559c0 100644 --- a/unittests/32Bit_ASM/VEX/vgather_qpd_128bit_2xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vgather_qpd_128bit_2xdisp_overflow.asm @@ -52,7 +52,7 @@ vgatherqpd xmm7, [xmm0 * 2 + eax + 2], xmm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/32Bit_ASM/VEX/vgather_qpd_128bit_4xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vgather_qpd_128bit_4xdisp_overflow.asm index 03cd205c8..9a4f3eb27 100644 --- a/unittests/32Bit_ASM/VEX/vgather_qpd_128bit_4xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vgather_qpd_128bit_4xdisp_overflow.asm @@ -52,7 +52,7 @@ vgatherqpd xmm7, [xmm0 * 4 + eax + 4], xmm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/32Bit_ASM/VEX/vgather_qpd_128bit_8xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vgather_qpd_128bit_8xdisp_overflow.asm index df9dadba1..5059a06aa 100644 --- a/unittests/32Bit_ASM/VEX/vgather_qpd_128bit_8xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vgather_qpd_128bit_8xdisp_overflow.asm @@ -52,7 +52,7 @@ vgatherqpd xmm7, [xmm0 * 8 + eax + 8], xmm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/32Bit_ASM/VEX/vgather_qpd_256bit_1xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vgather_qpd_256bit_1xdisp_overflow.asm index 99e18f945..57d775423 100644 --- a/unittests/32Bit_ASM/VEX/vgather_qpd_256bit_1xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vgather_qpd_256bit_1xdisp_overflow.asm @@ -48,7 +48,7 @@ vgatherqpd ymm7, [ymm0 * 1 + eax + 1], ymm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/32Bit_ASM/VEX/vgather_qpd_256bit_2xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vgather_qpd_256bit_2xdisp_overflow.asm index 9ad402c83..b510cad2c 100644 --- a/unittests/32Bit_ASM/VEX/vgather_qpd_256bit_2xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vgather_qpd_256bit_2xdisp_overflow.asm @@ -52,7 +52,7 @@ vgatherqpd ymm7, [ymm0 * 2 + eax + 2], ymm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/32Bit_ASM/VEX/vgather_qpd_256bit_4xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vgather_qpd_256bit_4xdisp_overflow.asm index c5262ad95..8f5876d29 100644 --- a/unittests/32Bit_ASM/VEX/vgather_qpd_256bit_4xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vgather_qpd_256bit_4xdisp_overflow.asm @@ -52,7 +52,7 @@ vgatherqpd ymm7, [ymm0 * 4 + eax + 4], ymm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/32Bit_ASM/VEX/vgather_qpd_256bit_8xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vgather_qpd_256bit_8xdisp_overflow.asm index 0eed24ab6..25eadc120 100644 --- a/unittests/32Bit_ASM/VEX/vgather_qpd_256bit_8xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vgather_qpd_256bit_8xdisp_overflow.asm @@ -52,7 +52,7 @@ vgatherqpd ymm7, [ymm0 * 8 + eax + 8], ymm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/32Bit_ASM/VEX/vgather_qps_128bit_1xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vgather_qps_128bit_1xdisp_overflow.asm index 155d94c20..f1a9477d7 100644 --- a/unittests/32Bit_ASM/VEX/vgather_qps_128bit_1xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vgather_qps_128bit_1xdisp_overflow.asm @@ -48,7 +48,7 @@ vgatherqps xmm7, [xmm0 * 1 + eax + 1], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/32Bit_ASM/VEX/vgather_qps_128bit_2xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vgather_qps_128bit_2xdisp_overflow.asm index 01268def5..ef07cd86f 100644 --- a/unittests/32Bit_ASM/VEX/vgather_qps_128bit_2xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vgather_qps_128bit_2xdisp_overflow.asm @@ -52,7 +52,7 @@ vgatherqps xmm7, [xmm0 * 2 + eax + 2], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/32Bit_ASM/VEX/vgather_qps_128bit_4xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vgather_qps_128bit_4xdisp_overflow.asm index 29f7b3365..0d8a0c612 100644 --- a/unittests/32Bit_ASM/VEX/vgather_qps_128bit_4xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vgather_qps_128bit_4xdisp_overflow.asm @@ -52,7 +52,7 @@ vgatherqps xmm7, [xmm0 * 4 + eax + 4], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/32Bit_ASM/VEX/vgather_qps_128bit_8xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vgather_qps_128bit_8xdisp_overflow.asm index ee566b28d..df5c9893c 100644 --- a/unittests/32Bit_ASM/VEX/vgather_qps_128bit_8xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vgather_qps_128bit_8xdisp_overflow.asm @@ -52,7 +52,7 @@ vgatherqps xmm7, [xmm0 * 8 + eax + 8], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/32Bit_ASM/VEX/vgather_qps_256bit_1xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vgather_qps_256bit_1xdisp_overflow.asm index d9e9ddbb0..051fb2e24 100644 --- a/unittests/32Bit_ASM/VEX/vgather_qps_256bit_1xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vgather_qps_256bit_1xdisp_overflow.asm @@ -48,7 +48,7 @@ vgatherqps xmm7, [ymm0 * 1 + eax + 1], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/32Bit_ASM/VEX/vgather_qps_256bit_2xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vgather_qps_256bit_2xdisp_overflow.asm index 43b83249f..abbae05d8 100644 --- a/unittests/32Bit_ASM/VEX/vgather_qps_256bit_2xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vgather_qps_256bit_2xdisp_overflow.asm @@ -52,7 +52,7 @@ vgatherqps xmm7, [ymm0 * 2 + eax + 2], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/32Bit_ASM/VEX/vgather_qps_256bit_4xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vgather_qps_256bit_4xdisp_overflow.asm index 58f44d06e..22db2936c 100644 --- a/unittests/32Bit_ASM/VEX/vgather_qps_256bit_4xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vgather_qps_256bit_4xdisp_overflow.asm @@ -52,7 +52,7 @@ vgatherqps xmm7, [ymm0 * 4 + eax + 4], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/32Bit_ASM/VEX/vgather_qps_256bit_8xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vgather_qps_256bit_8xdisp_overflow.asm index d6b0bc12f..626191610 100644 --- a/unittests/32Bit_ASM/VEX/vgather_qps_256bit_8xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vgather_qps_256bit_8xdisp_overflow.asm @@ -52,7 +52,7 @@ vgatherqps xmm7, [ymm0 * 8 + eax + 8], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/32Bit_ASM/VEX/vpgather_qd_128bit_1xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vpgather_qd_128bit_1xdisp_overflow.asm index 161edbcda..fbaadb2d5 100644 --- a/unittests/32Bit_ASM/VEX/vpgather_qd_128bit_1xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vpgather_qd_128bit_1xdisp_overflow.asm @@ -48,7 +48,7 @@ vpgatherqd xmm7, [xmm0 * 1 + eax + 1], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/32Bit_ASM/VEX/vpgather_qd_128bit_2xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vpgather_qd_128bit_2xdisp_overflow.asm index 363202d0a..a24a9f206 100644 --- a/unittests/32Bit_ASM/VEX/vpgather_qd_128bit_2xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vpgather_qd_128bit_2xdisp_overflow.asm @@ -52,7 +52,7 @@ vpgatherqd xmm7, [xmm0 * 2 + eax + 2], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/32Bit_ASM/VEX/vpgather_qd_128bit_4xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vpgather_qd_128bit_4xdisp_overflow.asm index 5b8f92cef..3cdc870f6 100644 --- a/unittests/32Bit_ASM/VEX/vpgather_qd_128bit_4xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vpgather_qd_128bit_4xdisp_overflow.asm @@ -52,7 +52,7 @@ vpgatherqd xmm7, [xmm0 * 4 + eax + 4], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/32Bit_ASM/VEX/vpgather_qd_128bit_8xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vpgather_qd_128bit_8xdisp_overflow.asm index 76f4f8769..9e82a98d2 100644 --- a/unittests/32Bit_ASM/VEX/vpgather_qd_128bit_8xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vpgather_qd_128bit_8xdisp_overflow.asm @@ -52,7 +52,7 @@ vpgatherqd xmm7, [xmm0 * 8 + eax + 8], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/32Bit_ASM/VEX/vpgather_qd_256bit_1xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vpgather_qd_256bit_1xdisp_overflow.asm index e4d2ad0bb..b6e338707 100644 --- a/unittests/32Bit_ASM/VEX/vpgather_qd_256bit_1xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vpgather_qd_256bit_1xdisp_overflow.asm @@ -48,7 +48,7 @@ vpgatherqd xmm7, [ymm0 * 1 + eax + 1], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/32Bit_ASM/VEX/vpgather_qd_256bit_2xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vpgather_qd_256bit_2xdisp_overflow.asm index 1b3dfe0fa..203e3152b 100644 --- a/unittests/32Bit_ASM/VEX/vpgather_qd_256bit_2xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vpgather_qd_256bit_2xdisp_overflow.asm @@ -52,7 +52,7 @@ vpgatherqd xmm7, [ymm0 * 2 + eax + 2], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/32Bit_ASM/VEX/vpgather_qd_256bit_4xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vpgather_qd_256bit_4xdisp_overflow.asm index 3a324c190..a0e45843e 100644 --- a/unittests/32Bit_ASM/VEX/vpgather_qd_256bit_4xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vpgather_qd_256bit_4xdisp_overflow.asm @@ -52,7 +52,7 @@ vpgatherqd xmm7, [ymm0 * 4 + eax + 4], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/32Bit_ASM/VEX/vpgather_qd_256bit_8xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vpgather_qd_256bit_8xdisp_overflow.asm index 00e7b4e81..fef210948 100644 --- a/unittests/32Bit_ASM/VEX/vpgather_qd_256bit_8xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vpgather_qd_256bit_8xdisp_overflow.asm @@ -52,7 +52,7 @@ vpgatherqd xmm7, [ymm0 * 8 + eax + 8], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/32Bit_ASM/VEX/vpgather_qq_128bit_1xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vpgather_qq_128bit_1xdisp_overflow.asm index 93cfb7d9f..08a6d5b39 100644 --- a/unittests/32Bit_ASM/VEX/vpgather_qq_128bit_1xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vpgather_qq_128bit_1xdisp_overflow.asm @@ -48,7 +48,7 @@ vpgatherqq xmm7, [xmm0 * 1 + eax + 1], xmm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/32Bit_ASM/VEX/vpgather_qq_128bit_2xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vpgather_qq_128bit_2xdisp_overflow.asm index 1217b255f..b48b8a721 100644 --- a/unittests/32Bit_ASM/VEX/vpgather_qq_128bit_2xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vpgather_qq_128bit_2xdisp_overflow.asm @@ -52,7 +52,7 @@ vpgatherqq xmm7, [xmm0 * 2 + eax + 2], xmm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/32Bit_ASM/VEX/vpgather_qq_128bit_4xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vpgather_qq_128bit_4xdisp_overflow.asm index 0ff1eb7d8..48040160c 100644 --- a/unittests/32Bit_ASM/VEX/vpgather_qq_128bit_4xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vpgather_qq_128bit_4xdisp_overflow.asm @@ -52,7 +52,7 @@ vpgatherqq xmm7, [xmm0 * 4 + eax + 4], xmm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/32Bit_ASM/VEX/vpgather_qq_128bit_8xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vpgather_qq_128bit_8xdisp_overflow.asm index 9ede9ce0f..f0e0baf45 100644 --- a/unittests/32Bit_ASM/VEX/vpgather_qq_128bit_8xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vpgather_qq_128bit_8xdisp_overflow.asm @@ -52,7 +52,7 @@ vpgatherqq xmm7, [xmm0 * 8 + eax + 8], xmm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/32Bit_ASM/VEX/vpgather_qq_256bit_1xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vpgather_qq_256bit_1xdisp_overflow.asm index 9179120c9..f37a849f9 100644 --- a/unittests/32Bit_ASM/VEX/vpgather_qq_256bit_1xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vpgather_qq_256bit_1xdisp_overflow.asm @@ -48,7 +48,7 @@ vpgatherqq ymm7, [ymm0 * 1 + eax + 1], ymm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/32Bit_ASM/VEX/vpgather_qq_256bit_2xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vpgather_qq_256bit_2xdisp_overflow.asm index 13e32245e..5a2854631 100644 --- a/unittests/32Bit_ASM/VEX/vpgather_qq_256bit_2xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vpgather_qq_256bit_2xdisp_overflow.asm @@ -52,7 +52,7 @@ vpgatherqq ymm7, [ymm0 * 2 + eax + 2], ymm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/32Bit_ASM/VEX/vpgather_qq_256bit_4xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vpgather_qq_256bit_4xdisp_overflow.asm index de2b59676..fd9d5fc7e 100644 --- a/unittests/32Bit_ASM/VEX/vpgather_qq_256bit_4xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vpgather_qq_256bit_4xdisp_overflow.asm @@ -52,7 +52,7 @@ vpgatherqq ymm7, [ymm0 * 4 + eax + 4], ymm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/32Bit_ASM/VEX/vpgather_qq_256bit_8xdisp_overflow.asm b/unittests/32Bit_ASM/VEX/vpgather_qq_256bit_8xdisp_overflow.asm index 3c4ce32d1..9be482081 100644 --- a/unittests/32Bit_ASM/VEX/vpgather_qq_256bit_8xdisp_overflow.asm +++ b/unittests/32Bit_ASM/VEX/vpgather_qq_256bit_8xdisp_overflow.asm @@ -52,7 +52,7 @@ vpgatherqq ymm7, [ymm0 * 8 + eax + 8], ymm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/32Bit_ASM/X87/D9_02.asm b/unittests/32Bit_ASM/X87/D9_02.asm index 791fd014d..f261dd7a2 100644 --- a/unittests/32Bit_ASM/X87/D9_02.asm +++ b/unittests/32Bit_ASM/X87/D9_02.asm @@ -8,7 +8,7 @@ } %endif -lea edx, [.data] +lea edx, [rel .data] fld dword [edx + 8 * 0] fst dword [edx + 8 * 1] @@ -17,6 +17,7 @@ mov eax, [edx + 8 * 1] hlt +align 4096 .data: dq 0x3f800000 dq 0 diff --git a/unittests/32Bit_ASM/X87/D9_03.asm b/unittests/32Bit_ASM/X87/D9_03.asm index e0de2b690..323549d2c 100644 --- a/unittests/32Bit_ASM/X87/D9_03.asm +++ b/unittests/32Bit_ASM/X87/D9_03.asm @@ -8,7 +8,7 @@ } %endif -lea edx, [.data] +lea edx, [rel .data] fld dword [edx + 8 * 0] fstp dword [edx + 8 * 2] @@ -18,6 +18,7 @@ mov eax, [edx + 8 * 2] hlt +align 4096 .data: dq 0x3f800000 dq 0x40000000 diff --git a/unittests/32Bit_ASM/X87/D9_06.asm b/unittests/32Bit_ASM/X87/D9_06.asm index 96c895498..26830d1e1 100644 --- a/unittests/32Bit_ASM/X87/D9_06.asm +++ b/unittests/32Bit_ASM/X87/D9_06.asm @@ -8,7 +8,7 @@ } %endif -lea edx, [.data] +lea edx, [rel .data] fld dword [edx + 8 * 0] o16 fstenv [edx + 8 * 3] @@ -40,6 +40,7 @@ fld dword [edx + 8 * 1] hlt +align 4096 .data: dq 0x3f800000 dq 0x40000000 diff --git a/unittests/32Bit_ASM/X87/D9_06_2.asm b/unittests/32Bit_ASM/X87/D9_06_2.asm index 2b6224edb..e6183cee6 100644 --- a/unittests/32Bit_ASM/X87/D9_06_2.asm +++ b/unittests/32Bit_ASM/X87/D9_06_2.asm @@ -8,7 +8,7 @@ } %endif -lea edx, [.data] +lea edx, [rel .data] fld dword [edx + 8 * 0] o32 fstenv [edx + 8 * 3] @@ -40,6 +40,7 @@ fld dword [edx + 8 * 1] hlt +align 4096 .data: dq 0x3f800000 dq 0x40000000 diff --git a/unittests/32Bit_ASM/X87/D9_F6.asm b/unittests/32Bit_ASM/X87/D9_F6.asm index 3a15970a5..9cdd52e58 100644 --- a/unittests/32Bit_ASM/X87/D9_F6.asm +++ b/unittests/32Bit_ASM/X87/D9_F6.asm @@ -20,16 +20,6 @@ ; Then do fincstp and store the stack values into MMX registers through memory ; such that MM0 has the value of ST0 and so on. -section .bss -align 8 -temp: resq 1 -stack: resq 8 - -section .text -global _start - -_start: - mov eax, 0x3ff00000 ; 1.0 mov [rel temp], eax fld dword [rel temp] @@ -100,3 +90,7 @@ movq mm6, [rel stack + 8 * 6] movq mm7, [rel stack + 8 * 7] hlt + +align 4096 +temp: dq 0 +stack: times 8 dq 0 diff --git a/unittests/32Bit_ASM/X87/D9_F7.asm b/unittests/32Bit_ASM/X87/D9_F7.asm index 3d75c8508..77c690508 100644 --- a/unittests/32Bit_ASM/X87/D9_F7.asm +++ b/unittests/32Bit_ASM/X87/D9_F7.asm @@ -20,16 +20,6 @@ ; Then do fincstp and store the stack values into MMX registers through memory ; such that MM0 has the value of ST0 and so on. -section .bss -align 8 -temp: resq 1 -stack: resq 8 - -section .text -global _start - -_start: - mov eax, 0x3ff00000 ; 1.0 mov [rel temp], eax fld dword [rel temp] @@ -99,3 +89,7 @@ movq mm6, [rel stack + 8 * 6] movq mm7, [rel stack + 8 * 7] hlt + +align 4096 +temp: dq 0 +stack: times 8 dq 0 diff --git a/unittests/32Bit_ASM/X87/DA_00.asm b/unittests/32Bit_ASM/X87/DA_00.asm index 82c2492fc..7846f7852 100644 --- a/unittests/32Bit_ASM/X87/DA_00.asm +++ b/unittests/32Bit_ASM/X87/DA_00.asm @@ -8,7 +8,7 @@ } %endif -lea edx, [.data] +lea edx, [rel .data] fld qword [edx + 8 * 0] fiadd dword [edx + 8 * 1] @@ -18,7 +18,7 @@ fstp tword [rel data2] movups xmm0, [rel data2] ; Test negative -lea edx, [.data_neg] +lea edx, [rel .data_neg] fld qword [edx + 8 * 0] fiadd dword [edx + 8 * 1] @@ -29,6 +29,7 @@ movups xmm1, [rel data2] hlt +align 4096 .data: dq 0x3ff0000000000000 dq 2 diff --git a/unittests/32Bit_ASM/X87/DA_01.asm b/unittests/32Bit_ASM/X87/DA_01.asm index dd48728db..e6ad0a89d 100644 --- a/unittests/32Bit_ASM/X87/DA_01.asm +++ b/unittests/32Bit_ASM/X87/DA_01.asm @@ -8,7 +8,7 @@ } %endif -lea edx, [.data] +lea edx, [rel .data] fld qword [edx + 8 * 0] fimul dword [edx + 8 * 1] @@ -16,7 +16,7 @@ fstp tword [rel data2] movups xmm0, [rel data2] ; Test negative -lea edx, [.data_neg] +lea edx, [rel .data_neg] fld qword [edx + 8 * 0] fimul dword [edx + 8 * 1] @@ -25,6 +25,7 @@ movups xmm1, [rel data2] hlt +align 4096 .data: dq 0x3ff0000000000000 dq 2 diff --git a/unittests/32Bit_ASM/X87/DA_04.asm b/unittests/32Bit_ASM/X87/DA_04.asm index 60b1cd230..909bd74ad 100644 --- a/unittests/32Bit_ASM/X87/DA_04.asm +++ b/unittests/32Bit_ASM/X87/DA_04.asm @@ -8,7 +8,7 @@ } %endif -lea edx, [.data] +lea edx, [rel .data] fld qword [edx + 8 * 0] fisub dword [edx + 8 * 1] @@ -16,7 +16,7 @@ fstp tword [rel data2] movups xmm0, [rel data2] ; Test negative -lea edx, [.data_neg] +lea edx, [rel .data_neg] fld qword [edx + 8 * 0] fisub dword [edx + 8 * 1] @@ -25,6 +25,7 @@ movups xmm1, [rel data2] hlt +align 4096 .data: dq 0x3ff0000000000000 dq 2 diff --git a/unittests/32Bit_ASM/X87/DA_05.asm b/unittests/32Bit_ASM/X87/DA_05.asm index 5cc3709e4..0d7fc7e1a 100644 --- a/unittests/32Bit_ASM/X87/DA_05.asm +++ b/unittests/32Bit_ASM/X87/DA_05.asm @@ -8,7 +8,7 @@ } %endif -lea edx, [.data] +lea edx, [rel .data] fld qword [edx + 8 * 0] fisubr dword [edx + 8 * 1] @@ -16,7 +16,7 @@ fstp tword [rel data2] movups xmm0, [rel data2] ; Test negative -lea edx, [.data_neg] +lea edx, [rel .data_neg] fld qword [edx + 8 * 0] fisubr dword [edx + 8 * 1] @@ -25,6 +25,7 @@ movups xmm1, [rel data2] hlt +align 4096 .data: dq 0x3ff0000000000000 dq 2 diff --git a/unittests/32Bit_ASM/X87/DA_06.asm b/unittests/32Bit_ASM/X87/DA_06.asm index f8186a1f5..d93b9290a 100644 --- a/unittests/32Bit_ASM/X87/DA_06.asm +++ b/unittests/32Bit_ASM/X87/DA_06.asm @@ -8,7 +8,7 @@ } %endif -lea edx, [.data] +lea edx, [rel .data] fld qword [edx + 8 * 0] fidiv dword [edx + 8 * 1] @@ -16,7 +16,7 @@ fstp tword [rel data2] movups xmm0, [rel data2] ; Test negative -lea edx, [.data_neg] +lea edx, [rel .data_neg] fld qword [edx + 8 * 0] fidiv dword [edx + 8 * 1] @@ -25,6 +25,7 @@ movups xmm1, [rel data2] hlt +align 4096 .data: dq 0x3ff0000000000000 dq 2 diff --git a/unittests/32Bit_ASM/X87/DA_07.asm b/unittests/32Bit_ASM/X87/DA_07.asm index bf36b5c35..fa71ef9a7 100644 --- a/unittests/32Bit_ASM/X87/DA_07.asm +++ b/unittests/32Bit_ASM/X87/DA_07.asm @@ -8,7 +8,7 @@ } %endif -lea edx, [.data] +lea edx, [rel .data] fld qword [edx + 8 * 0] fidivr dword [edx + 8 * 1] @@ -17,7 +17,7 @@ fstp tword [rel data2] movups xmm0, [rel data2] ; Test negative -lea edx, [.data_neg] +lea edx, [rel .data_neg] fld qword [edx + 8 * 0] fidivr dword [edx + 8 * 1] @@ -27,6 +27,7 @@ movups xmm1, [rel data2] hlt +align 4096 .data: dq 0x3ff0000000000000 dq 2 diff --git a/unittests/32Bit_ASM/X87/DB_01.asm b/unittests/32Bit_ASM/X87/DB_01.asm index cd8d40251..6d7af8026 100644 --- a/unittests/32Bit_ASM/X87/DB_01.asm +++ b/unittests/32Bit_ASM/X87/DB_01.asm @@ -8,7 +8,7 @@ } %endif -lea edx, [.data] +lea edx, [rel .data] fld dword [edx + 8 * 0] @@ -20,6 +20,7 @@ mov eax, [edx + 8 * 1] hlt +align 4096 .data: dq 0x44800000 dq 0 diff --git a/unittests/32Bit_ASM/X87/DB_02.asm b/unittests/32Bit_ASM/X87/DB_02.asm index 2e9c56618..c2483649e 100644 --- a/unittests/32Bit_ASM/X87/DB_02.asm +++ b/unittests/32Bit_ASM/X87/DB_02.asm @@ -9,7 +9,7 @@ } %endif -lea edx, [.data] +lea edx, [rel .data] fld dword [edx + 8 * 0] @@ -21,6 +21,7 @@ mov eax, [edx + 8 * 1] hlt +align 4096 .data: dq 0x44800000 dq 0 diff --git a/unittests/32Bit_ASM/X87/DB_03.asm b/unittests/32Bit_ASM/X87/DB_03.asm index fd520f0f2..b572fdecd 100644 --- a/unittests/32Bit_ASM/X87/DB_03.asm +++ b/unittests/32Bit_ASM/X87/DB_03.asm @@ -8,7 +8,7 @@ } %endif -lea edx, [.data] +lea edx, [rel .data] fld dword [edx + 8 * 0] fistp dword [edx + 8 * 1] @@ -19,6 +19,7 @@ mov eax, [edx + 8 * 1] hlt +align 4096 .data: dq 0x44800000 dq 0 diff --git a/unittests/32Bit_ASM/X87/DB_07.asm b/unittests/32Bit_ASM/X87/DB_07.asm index 7b5589f9d..978caa73e 100644 --- a/unittests/32Bit_ASM/X87/DB_07.asm +++ b/unittests/32Bit_ASM/X87/DB_07.asm @@ -7,16 +7,16 @@ } %endif -lea edx, [data] +lea edx, [rel data] fld tword [edx + 8 * 0] -lea edx, [data2] +lea edx, [rel data2] fstp tword [edx + 8 * 0] fld tword [edx + 8 * 0] hlt -align 8 +align 4096 data: dt 2.0 dq 0 diff --git a/unittests/32Bit_ASM/X87/DB_E3.asm b/unittests/32Bit_ASM/X87/DB_E3.asm index d38ab1ce9..8d9ef58ac 100644 --- a/unittests/32Bit_ASM/X87/DB_E3.asm +++ b/unittests/32Bit_ASM/X87/DB_E3.asm @@ -7,12 +7,6 @@ } %endif -section .bss -control: resb 2 ; Reserve space for the FPU control word - -section .text -global _start -_start: fninit ; Ensures that fnstcw after fninit sets the correct value @@ -20,3 +14,7 @@ fnstcw [rel control] mov ax, word [rel control] hlt + +align 4096 +control: +times 2 db 0 ; Reserve space for the FPU control word diff --git a/unittests/32Bit_ASM/X87/DD_01.asm b/unittests/32Bit_ASM/X87/DD_01.asm index fe862bf96..f8c5779a5 100644 --- a/unittests/32Bit_ASM/X87/DD_01.asm +++ b/unittests/32Bit_ASM/X87/DD_01.asm @@ -9,21 +9,21 @@ } %endif -lea edx, [data] +lea edx, [rel data] fld tword [edx + 8 * 0] -lea edx, [data3] +lea edx, [rel data3] fisttp qword [edx + 8 * 0] mov eax, [edx + 4 * 0] mov ebx, [edx + 4 * 1] -lea edx, [data2] +lea edx, [rel data2] fld tword [edx + 8 * 0] hlt -align 8 +align 4096 data: dt 2.0 dq 0 diff --git a/unittests/32Bit_ASM/X87/DD_02.asm b/unittests/32Bit_ASM/X87/DD_02.asm index a4efd0dcb..6382fff02 100644 --- a/unittests/32Bit_ASM/X87/DD_02.asm +++ b/unittests/32Bit_ASM/X87/DD_02.asm @@ -10,21 +10,21 @@ } %endif -lea edx, [data] +lea edx, [rel data] fld tword [edx + 8 * 0] -lea edx, [data3] +lea edx, [rel data3] fst qword [edx + 8 * 0] mov eax, [edx + 4 * 0] mov ebx, [edx + 4 * 1] -lea edx, [data2] +lea edx, [rel data2] fld tword [edx + 8 * 0] hlt -align 8 +align 4096 data: dt 2.0 dq 0 diff --git a/unittests/32Bit_ASM/X87/DD_03.asm b/unittests/32Bit_ASM/X87/DD_03.asm index 8b3698e82..8409d0ce9 100644 --- a/unittests/32Bit_ASM/X87/DD_03.asm +++ b/unittests/32Bit_ASM/X87/DD_03.asm @@ -9,21 +9,21 @@ } %endif -lea edx, [data] +lea edx, [rel data] fld tword [edx + 8 * 0] -lea edx, [data3] +lea edx, [rel data3] fstp qword [edx + 8 * 0] mov eax, [edx + 4 * 0] mov ebx, [edx + 4 * 1] -lea edx, [data2] +lea edx, [rel data2] fld tword [edx + 8 * 0] hlt -align 8 +align 4096 data: dt 2.0 dq 0 diff --git a/unittests/32Bit_ASM/X87/DD_04.asm b/unittests/32Bit_ASM/X87/DD_04.asm index ea9fbdd1a..abd20e2a8 100644 --- a/unittests/32Bit_ASM/X87/DD_04.asm +++ b/unittests/32Bit_ASM/X87/DD_04.asm @@ -22,7 +22,7 @@ } %endif -lea edx, [.data] +lea edx, [rel .data] fldz fild word [edx + 2 * 1] @@ -81,6 +81,7 @@ psrldq xmm7, 6 hlt +align 4096 .data: dw 0 dw 2 diff --git a/unittests/32Bit_ASM/X87/DD_04_2.asm b/unittests/32Bit_ASM/X87/DD_04_2.asm index 09975f249..f7f16c8d6 100644 --- a/unittests/32Bit_ASM/X87/DD_04_2.asm +++ b/unittests/32Bit_ASM/X87/DD_04_2.asm @@ -22,7 +22,7 @@ } %endif -lea edx, [.data] +lea edx, [rel .data] fldz fild word [edx + 2 * 1] @@ -81,6 +81,7 @@ psrldq xmm7, 6 hlt +align 4096 .data: dw 0 dw 2 diff --git a/unittests/32Bit_ASM/X87/DD_07.asm b/unittests/32Bit_ASM/X87/DD_07.asm index 77dc2818c..a3cd5bc2d 100644 --- a/unittests/32Bit_ASM/X87/DD_07.asm +++ b/unittests/32Bit_ASM/X87/DD_07.asm @@ -8,7 +8,7 @@ } %endif -lea edx, [.data] +lea edx, [rel .data] mov eax, -1 mov ebx, -1 @@ -21,6 +21,7 @@ mov bx, word [edx + 8 * 1] hlt +align 4096 .data: dq 0x3f800000 dq 0 diff --git a/unittests/32Bit_ASM/X87/DE_00.asm b/unittests/32Bit_ASM/X87/DE_00.asm index f5ef3e4a5..82028ffeb 100644 --- a/unittests/32Bit_ASM/X87/DE_00.asm +++ b/unittests/32Bit_ASM/X87/DE_00.asm @@ -8,7 +8,7 @@ } %endif -lea edx, [.data] +lea edx, [rel .data] fld qword [edx + 8 * 0] fiadd word [edx + 8 * 1] @@ -16,7 +16,7 @@ fstp tword [rel data2] movups xmm0, [rel data2] ; Test negative -lea edx, [.data_neg] +lea edx, [rel .data_neg] fld qword [edx + 8 * 0] fiadd word [edx + 8 * 1] @@ -27,6 +27,7 @@ movups xmm1, [rel data2] hlt +align 4096 .data: dq 0x3ff0000000000000 dq 2 diff --git a/unittests/32Bit_ASM/X87/DE_01.asm b/unittests/32Bit_ASM/X87/DE_01.asm index e9285a420..bcddf9b86 100644 --- a/unittests/32Bit_ASM/X87/DE_01.asm +++ b/unittests/32Bit_ASM/X87/DE_01.asm @@ -8,7 +8,7 @@ } %endif -lea edx, [.data] +lea edx, [rel .data] fld qword [edx + 8 * 0] fimul word [edx + 8 * 1] @@ -16,7 +16,7 @@ fstp tword [rel data2] movups xmm0, [rel data2] ; Test negative -lea edx, [.data_neg] +lea edx, [rel .data_neg] fld qword [edx + 8 * 0] fimul word [edx + 8 * 1] @@ -25,6 +25,7 @@ movups xmm1, [rel data2] hlt +align 4096 .data: dq 0x3ff0000000000000 dq 2 diff --git a/unittests/32Bit_ASM/X87/DE_04.asm b/unittests/32Bit_ASM/X87/DE_04.asm index 9cbecdb5b..06a602234 100644 --- a/unittests/32Bit_ASM/X87/DE_04.asm +++ b/unittests/32Bit_ASM/X87/DE_04.asm @@ -8,7 +8,7 @@ } %endif -lea edx, [.data] +lea edx, [rel .data] fld qword [edx + 8 * 0] fisub word [edx + 8 * 1] @@ -16,7 +16,7 @@ fstp tword [rel data2] movups xmm0, [rel data2] ; Test negative -lea edx, [.data_neg] +lea edx, [rel .data_neg] fld qword [edx + 8 * 0] fisub word [edx + 8 * 1] @@ -25,6 +25,7 @@ movups xmm1, [rel data2] hlt +align 4096 .data: dq 0x3ff0000000000000 dq 2 diff --git a/unittests/32Bit_ASM/X87/DE_05.asm b/unittests/32Bit_ASM/X87/DE_05.asm index d9e944157..a763bcd02 100644 --- a/unittests/32Bit_ASM/X87/DE_05.asm +++ b/unittests/32Bit_ASM/X87/DE_05.asm @@ -8,7 +8,7 @@ } %endif -lea edx, [.data] +lea edx, [rel .data] fld qword [edx + 8 * 0] fisubr word [edx + 8 * 1] @@ -16,7 +16,7 @@ fstp tword [rel data2] movups xmm0, [rel data2] ; Test negative -lea edx, [.data_neg] +lea edx, [rel .data_neg] fld qword [edx + 8 * 0] fisubr word [edx + 8 * 1] @@ -25,6 +25,7 @@ movups xmm1, [rel data2] hlt +align 4096 .data: dq 0x3ff0000000000000 dq 2 diff --git a/unittests/32Bit_ASM/X87/DE_06.asm b/unittests/32Bit_ASM/X87/DE_06.asm index c1008a3e4..7d41fb07a 100644 --- a/unittests/32Bit_ASM/X87/DE_06.asm +++ b/unittests/32Bit_ASM/X87/DE_06.asm @@ -8,7 +8,7 @@ } %endif -lea edx, [.data] +lea edx, [rel .data] fld qword [edx + 8 * 0] fidiv word [edx + 8 * 1] @@ -16,7 +16,7 @@ fstp tword [rel data2] movups xmm0, [rel data2] ; Test negative -lea edx, [.data_neg] +lea edx, [rel .data_neg] fld qword [edx + 8 * 0] fidiv word [edx + 8 * 1] @@ -25,6 +25,7 @@ movups xmm1, [rel data2] hlt +align 4096 .data: dq 0x3ff0000000000000 dq 2 diff --git a/unittests/32Bit_ASM/X87/DE_07.asm b/unittests/32Bit_ASM/X87/DE_07.asm index 77c75ab61..1318d099a 100644 --- a/unittests/32Bit_ASM/X87/DE_07.asm +++ b/unittests/32Bit_ASM/X87/DE_07.asm @@ -8,7 +8,7 @@ } %endif -lea edx, [.data] +lea edx, [rel .data] fld qword [edx + 8 * 0] fidivr word [edx + 8 * 1] @@ -16,7 +16,7 @@ fstp tword [rel data2] movups xmm0, [rel data2] ; Test negative -lea edx, [.data_neg] +lea edx, [rel .data_neg] fld qword [edx + 8 * 0] fidivr word [edx + 8 * 1] @@ -25,6 +25,7 @@ movups xmm1, [rel data2] hlt +align 4096 .data: dq 0x3ff0000000000000 dq 2 diff --git a/unittests/32Bit_ASM/X87/DF_01.asm b/unittests/32Bit_ASM/X87/DF_01.asm index 4283213a0..7d4604b01 100644 --- a/unittests/32Bit_ASM/X87/DF_01.asm +++ b/unittests/32Bit_ASM/X87/DF_01.asm @@ -8,20 +8,20 @@ } %endif -lea edx, [data] +lea edx, [rel data] fld tword [edx + 8 * 0] -lea edx, [data3] +lea edx, [rel data3] fisttp word [edx + 8 * 0] mov ax, word [edx + 8 * 0] -lea edx, [data2] +lea edx, [rel data2] fld tword [edx + 8 * 0] hlt -align 8 +align 4096 data: dt 2.0 dq 0 diff --git a/unittests/32Bit_ASM/X87/DF_02.asm b/unittests/32Bit_ASM/X87/DF_02.asm index 52520f2ac..9782e36cc 100644 --- a/unittests/32Bit_ASM/X87/DF_02.asm +++ b/unittests/32Bit_ASM/X87/DF_02.asm @@ -9,7 +9,7 @@ } %endif -lea edx, [.data] +lea edx, [rel .data] fld dword [edx + 8 * 0] @@ -22,6 +22,7 @@ mov ax, word [edx + 8 * 1] hlt +align 4096 .data: dq 0x44800000 dq -1 diff --git a/unittests/32Bit_ASM/X87/DF_03.asm b/unittests/32Bit_ASM/X87/DF_03.asm index b9ba42c98..89f3a843f 100644 --- a/unittests/32Bit_ASM/X87/DF_03.asm +++ b/unittests/32Bit_ASM/X87/DF_03.asm @@ -8,7 +8,7 @@ } %endif -lea edx, [.data] +lea edx, [rel .data] fld dword [edx + 8 * 0] @@ -21,6 +21,7 @@ mov ax, word [edx + 8 * 1] hlt +align 4096 .data: dq 0x44800000 dq -1 diff --git a/unittests/32Bit_ASM/X87/DF_07.asm b/unittests/32Bit_ASM/X87/DF_07.asm index b755cefc7..e250667a6 100644 --- a/unittests/32Bit_ASM/X87/DF_07.asm +++ b/unittests/32Bit_ASM/X87/DF_07.asm @@ -9,7 +9,7 @@ } %endif -lea edx, [.data] +lea edx, [rel .data] fld dword [edx + 8 * 0] @@ -22,6 +22,7 @@ mov ebx, dword [edx + 4 * 3] hlt +align 4096 .data: dq 0x44800000 dq -1 diff --git a/unittests/32Bit_ASM/X87/FST_AddrModes.asm b/unittests/32Bit_ASM/X87/FST_AddrModes.asm index 93d5bb678..350805b9e 100644 --- a/unittests/32Bit_ASM/X87/FST_AddrModes.asm +++ b/unittests/32Bit_ASM/X87/FST_AddrModes.asm @@ -15,11 +15,6 @@ } %endif -section .bss -base resb 4096 - -section .text - ; Setup fld1 lea edx, [rel base] @@ -42,3 +37,9 @@ mov edi, dword [edx + esi + 0xa] mov esp, dword [edx + esi * 4 + 0xa] hlt + +align 4096 +section .bss +base resb 4096 + +section .text diff --git a/unittests/32Bit_ASM/X87/RoundingNeg.asm b/unittests/32Bit_ASM/X87/RoundingNeg.asm index fa459692d..f439ec7a8 100644 --- a/unittests/32Bit_ASM/X87/RoundingNeg.asm +++ b/unittests/32Bit_ASM/X87/RoundingNeg.asm @@ -15,22 +15,6 @@ } %endif - -section .data -align 4 -nmidpoint: - dd -1.5 -nsamidpoint: - dd -1.49999 -nsbmidpoint: - dd -1.50001 - -section .bss -align 4 -tmp resd 1 - -section .text - ; Rounding tests to ensure rounding modes are actually working ;;; Negative tests ;; Mid-point @@ -174,3 +158,15 @@ mov bp, word [rel tmp] or edi, ebp hlt + +align 4096 +nmidpoint: + dd -1.5 +nsamidpoint: + dd -1.49999 +nsbmidpoint: + dd -1.50001 + +align 4 +tmp: +dd 0 diff --git a/unittests/32Bit_ASM/X87/RoundingPos.asm b/unittests/32Bit_ASM/X87/RoundingPos.asm index db7ace1d7..b36acf89f 100644 --- a/unittests/32Bit_ASM/X87/RoundingPos.asm +++ b/unittests/32Bit_ASM/X87/RoundingPos.asm @@ -11,21 +11,6 @@ } %endif - -section .data -align 4 -midpoint: - dd 1.5 -samidpoint: - dd 1.50001 -sbmidpoint: - dd 1.49999 - -section .bss -align 4 -tmp resd 1 - -section .text ; Rounding tests to ensure rounding modes are actually working ;; Mid-point finit @@ -161,3 +146,15 @@ fistp dword [rel tmp] or ecx, dword [rel tmp] hlt + +align 4096 +midpoint: + dd 1.5 +samidpoint: + dd 1.50001 +sbmidpoint: + dd 1.49999 + +align 4 +tmp: +dd 0 diff --git a/unittests/32Bit_ASM/X87/invalid_fist_nan.asm b/unittests/32Bit_ASM/X87/invalid_fist_nan.asm index 5623f3d69..25e82b356 100644 --- a/unittests/32Bit_ASM/X87/invalid_fist_nan.asm +++ b/unittests/32Bit_ASM/X87/invalid_fist_nan.asm @@ -22,5 +22,6 @@ and eax, 1 hlt +align 4096 .data: dd 0 diff --git a/unittests/32Bit_ASM/X87/invalid_fist_overflow.asm b/unittests/32Bit_ASM/X87/invalid_fist_overflow.asm index 4e279f390..2ce3055b5 100644 --- a/unittests/32Bit_ASM/X87/invalid_fist_overflow.asm +++ b/unittests/32Bit_ASM/X87/invalid_fist_overflow.asm @@ -21,6 +21,7 @@ and eax, 1 hlt +align 4096 .large_value: dt 1e20 .data: diff --git a/unittests/32Bit_ASM/X87/invalid_fist_overflow_16bit.asm b/unittests/32Bit_ASM/X87/invalid_fist_overflow_16bit.asm index 218708720..8e0641cce 100644 --- a/unittests/32Bit_ASM/X87/invalid_fist_overflow_16bit.asm +++ b/unittests/32Bit_ASM/X87/invalid_fist_overflow_16bit.asm @@ -24,5 +24,6 @@ and eax, 1 hlt +align 4096 .thirty: dd 30 .dummy: dw 0 diff --git a/unittests/32Bit_ASM/X87/invalid_fist_overflow_32bit.asm b/unittests/32Bit_ASM/X87/invalid_fist_overflow_32bit.asm index b3e369e2f..d7dd1983d 100644 --- a/unittests/32Bit_ASM/X87/invalid_fist_overflow_32bit.asm +++ b/unittests/32Bit_ASM/X87/invalid_fist_overflow_32bit.asm @@ -24,5 +24,6 @@ and eax, 1 hlt +align 4096 .forty: dd 40 .dummy: dd 0 diff --git a/unittests/32Bit_ASM/X87/invalid_fist_overflow_64bit.asm b/unittests/32Bit_ASM/X87/invalid_fist_overflow_64bit.asm index 0b1b1e526..23ef4978a 100644 --- a/unittests/32Bit_ASM/X87/invalid_fist_overflow_64bit.asm +++ b/unittests/32Bit_ASM/X87/invalid_fist_overflow_64bit.asm @@ -24,5 +24,6 @@ and eax, 1 hlt +align 4096 .seventyfive: dd 75 .dummy: dq 0 diff --git a/unittests/32Bit_ASM/X87/invalid_fptan_infinity.asm b/unittests/32Bit_ASM/X87/invalid_fptan_infinity.asm index 27cb5ef8b..0b6278a88 100644 --- a/unittests/32Bit_ASM/X87/invalid_fptan_infinity.asm +++ b/unittests/32Bit_ASM/X87/invalid_fptan_infinity.asm @@ -24,6 +24,7 @@ and eax, 1 hlt +align 4096 .pos_inf: dq 0 dw 0 diff --git a/unittests/32Bit_ASM/X87/invalid_fsin_infinity.asm b/unittests/32Bit_ASM/X87/invalid_fsin_infinity.asm index 432ca7fea..a28498183 100644 --- a/unittests/32Bit_ASM/X87/invalid_fsin_infinity.asm +++ b/unittests/32Bit_ASM/X87/invalid_fsin_infinity.asm @@ -24,6 +24,7 @@ and eax, 1 hlt +align 4096 .pos_inf: dq 0 dw 0 diff --git a/unittests/32Bit_ASM/X87/invalid_fsincos_infinity.asm b/unittests/32Bit_ASM/X87/invalid_fsincos_infinity.asm index 253287761..5ae1f7c5f 100644 --- a/unittests/32Bit_ASM/X87/invalid_fsincos_infinity.asm +++ b/unittests/32Bit_ASM/X87/invalid_fsincos_infinity.asm @@ -24,6 +24,7 @@ and eax, 1 hlt +align 4096 .pos_inf: dq 0 dw 0 diff --git a/unittests/32Bit_ASM/X87/invalid_infinity_fsub_memory.asm b/unittests/32Bit_ASM/X87/invalid_infinity_fsub_memory.asm index cf11974fd..a9d2792a3 100644 --- a/unittests/32Bit_ASM/X87/invalid_infinity_fsub_memory.asm +++ b/unittests/32Bit_ASM/X87/invalid_infinity_fsub_memory.asm @@ -11,8 +11,8 @@ ; Setup memory with +infinity (0x7FF0000000000000 for double precision +infinity) ; In 32-bit mode, we need to store the double in two parts -mov dword [.data], 0x00000000 ; Low 32 bits -mov dword [.data+4], 0x7FF00000 ; High 32 bits +mov dword [rel .data], 0x00000000 ; Low 32 bits +mov dword [rel .data+4], 0x7FF00000 ; High 32 bits ; Create +infinity by dividing 1.0 by 0.0 fld1 @@ -20,7 +20,7 @@ fldz fdiv ; Subtract ∞ - ∞ using memory operand - this should be invalid -fsub qword [.data] +fsub qword [rel .data] fstsw ax and eax, 1 @@ -28,4 +28,5 @@ and eax, 1 hlt section .data -.data: dq 0 \ No newline at end of file +align 4096 +.data: dq 0 diff --git a/unittests/32Bit_ASM/X87/invalid_reduced_precision.asm b/unittests/32Bit_ASM/X87/invalid_reduced_precision.asm index 0a1a6599a..9005fbd47 100644 --- a/unittests/32Bit_ASM/X87/invalid_reduced_precision.asm +++ b/unittests/32Bit_ASM/X87/invalid_reduced_precision.asm @@ -9,12 +9,12 @@ ; Test Invalid Operation with reduced precision (64-bit) ; Set precision control to 64-bit (PC = 10b) -fnstcw [.saved_cw] -mov ax, [.saved_cw] +fnstcw [rel .saved_cw] +mov ax, [rel .saved_cw] and ax, 0xFCFF or ax, 0x0200 -mov [.new_cw], ax -fldcw [.new_cw] +mov [rel .new_cw], ax +fldcw [rel .new_cw] ; Perform invalid operation: 0.0 / 0.0 fldz @@ -25,9 +25,10 @@ fstsw ax and eax, 1 ; Restore original control word -fldcw [.saved_cw] +fldcw [rel .saved_cw] hlt +align 4096 .saved_cw: dw 0 .new_cw: dw 0 diff --git a/unittests/32Bit_ASM/X87/valid_fist_16bit.asm b/unittests/32Bit_ASM/X87/valid_fist_16bit.asm index a62388e88..16b5bcf24 100644 --- a/unittests/32Bit_ASM/X87/valid_fist_16bit.asm +++ b/unittests/32Bit_ASM/X87/valid_fist_16bit.asm @@ -12,18 +12,19 @@ ; Load a value that fits in int16 range finit -fld qword [.value] +fld qword [rel .value] ; Convert to int16 - this should work without overflow -fistp word [.result] +fistp word [rel .result] fstsw ax and eax, 1 ; Load the result to verify conversion worked -movzx ebx, word [.result] +movzx ebx, word [rel .result] hlt +align 4096 .value: dq 12345.75 .result: dw 0 diff --git a/unittests/ASM/3DNow/86.asm b/unittests/ASM/3DNow/86.asm index ce047d420..520e4e16a 100644 --- a/unittests/ASM/3DNow/86.asm +++ b/unittests/ASM/3DNow/86.asm @@ -57,16 +57,14 @@ and ebx, eax hlt -section .bss -align 32 -result11: resd 1 -result12: resd 1 -result21: resd 1 -result22: resd 1 -result31: resd 1 -result32: resd 1 +align 4096 +result11: dd 0 +result12: dd 0 +result21: dd 0 +result22: dd 0 +result31: dd 0 +result32: dd 0 -section .data align 8 data1: dd -1.0 diff --git a/unittests/ASM/3DNow/87.asm b/unittests/ASM/3DNow/87.asm index adad419ec..46df83fec 100644 --- a/unittests/ASM/3DNow/87.asm +++ b/unittests/ASM/3DNow/87.asm @@ -51,16 +51,14 @@ and ebx, eax hlt -section .bss -align 32 -result11: resd 1 -result12: resd 1 -result21: resd 1 -result22: resd 1 -result31: resd 1 -result32: resd 1 +align 4096 +result11: dd 0 +result12: dd 0 +result21: dd 0 +result22: dd 0 +result31: dd 0 +result32: dd 0 -section .data align 32 data1: dd 1.0 diff --git a/unittests/ASM/3DNow/96.asm b/unittests/ASM/3DNow/96.asm index aba5ed9d5..b6e9dd9c6 100644 --- a/unittests/ASM/3DNow/96.asm +++ b/unittests/ASM/3DNow/96.asm @@ -68,11 +68,9 @@ pfrcp mm1, [rel data5] hlt -section .bss -align 8 -result resd 1 +align 4096 +result: dd 0 -section .data: align 8 data1: dd -1.0 @@ -106,4 +104,4 @@ dd 1.0 tolerance: dd 0x38800000 ; 2^-14 - 14bit accuracy -define_check_data_constants \ No newline at end of file +define_check_data_constants diff --git a/unittests/ASM/3DNow/97.asm b/unittests/ASM/3DNow/97.asm index 90d463c17..6d6805514 100644 --- a/unittests/ASM/3DNow/97.asm +++ b/unittests/ASM/3DNow/97.asm @@ -48,14 +48,12 @@ pfrsqrt mm4, [rel data5] ; pfrsqrt(0.0) == inf pfrsqrt mm5, [rel data6] ; pfrsqrt(-0.0) == -inf hlt -section .bss -align 8 -result1: resb 32 -result2: resb 32 -result3: resb 32 -result4: resb 32 +align 4096 +result1: times 32 db 0 +result2: times 32 db 0 +result3: times 32 db 0 +result4: times 32 db 0 -section .data align 32 data1: dd 1.0 @@ -96,4 +94,4 @@ dd -9.0 tolerance: dd 0x38000000 ; 2^-15 - accurate to 15bits -define_check_data_constants \ No newline at end of file +define_check_data_constants diff --git a/unittests/ASM/DAZTest.asm b/unittests/ASM/DAZTest.asm index f9afa7658..26fc0226d 100644 --- a/unittests/ASM/DAZTest.asm +++ b/unittests/ASM/DAZTest.asm @@ -23,7 +23,7 @@ ldmxcsr [rel .data_mxcsr] vaddps xmm1, xmm1, xmm2 hlt -align 32 +align 4096 .data_three: dd 3.0, 0x00cfffff diff --git a/unittests/ASM/FEX_bugs/LargeRotatesForSmallSizes.asm b/unittests/ASM/FEX_bugs/LargeRotatesForSmallSizes.asm index 14d28d028..7d1511a88 100644 --- a/unittests/ASM/FEX_bugs/LargeRotatesForSmallSizes.asm +++ b/unittests/ASM/FEX_bugs/LargeRotatesForSmallSizes.asm @@ -111,5 +111,6 @@ mov r15, [rel .data + (15 * 8)] hlt +align 4096 .data: times 16 dq 0x4142434445464748 diff --git a/unittests/ASM/FEX_bugs/TrickyRA.asm b/unittests/ASM/FEX_bugs/TrickyRA.asm index ca724dc0d..8c106d53f 100644 --- a/unittests/ASM/FEX_bugs/TrickyRA.asm +++ b/unittests/ASM/FEX_bugs/TrickyRA.asm @@ -34,7 +34,8 @@ mov qword [rbp-0x9f0], rax mov qword [rbp-0x9e8], rdx hlt -align 16 + +align 4096 .data: times 4096 db 0 .data_mid: diff --git a/unittests/ASM/FEX_bugs/fxrstor_bug.asm b/unittests/ASM/FEX_bugs/fxrstor_bug.asm index a80c682a6..8aa6be46e 100644 --- a/unittests/ASM/FEX_bugs/fxrstor_bug.asm +++ b/unittests/ASM/FEX_bugs/fxrstor_bug.asm @@ -57,7 +57,7 @@ pand xmm7, [rel .x87_mask] hlt -align 16 +align 4096 .save_data: times 64 dq 0 diff --git a/unittests/ASM/FEX_bugs/fxsave_bug.asm b/unittests/ASM/FEX_bugs/fxsave_bug.asm index 4482ba59d..f63e42312 100644 --- a/unittests/ASM/FEX_bugs/fxsave_bug.asm +++ b/unittests/ASM/FEX_bugs/fxsave_bug.asm @@ -56,7 +56,7 @@ pand xmm7, [rel .x87_mask] hlt -align 16 +align 4096 .save_data: times 64 dq 0 diff --git a/unittests/ASM/FEX_bugs/mmx_x87_register_conflating.asm b/unittests/ASM/FEX_bugs/mmx_x87_register_conflating.asm index 19bdb9b24..dc6c3c4ed 100644 --- a/unittests/ASM/FEX_bugs/mmx_x87_register_conflating.asm +++ b/unittests/ASM/FEX_bugs/mmx_x87_register_conflating.asm @@ -110,7 +110,8 @@ movups xmm7, [rel .temp_x87_result + (3 * 16)] movups xmm8, [rel .temp_x87_result + (4 * 16)] hlt -align 32 + +align 4096 .temp_x87_result: times (16 * 8) db 0 diff --git a/unittests/ASM/FEX_bugs/overlapping_memcpy_bug.asm b/unittests/ASM/FEX_bugs/overlapping_memcpy_bug.asm index 424ff8494..fde3ce8a2 100644 --- a/unittests/ASM/FEX_bugs/overlapping_memcpy_bug.asm +++ b/unittests/ASM/FEX_bugs/overlapping_memcpy_bug.asm @@ -84,6 +84,7 @@ mov edx, dword [rel .results + (4 * 3)] hlt +align 4096 .results: dd 0, 0, 0, 0, 0, 0, 0, 0 ; 4096 bytes of random data. diff --git a/unittests/ASM/FEX_bugs/repeat_on_incdec.asm b/unittests/ASM/FEX_bugs/repeat_on_incdec.asm index 86eb46956..e1c8f20d3 100644 --- a/unittests/ASM/FEX_bugs/repeat_on_incdec.asm +++ b/unittests/ASM/FEX_bugs/repeat_on_incdec.asm @@ -28,6 +28,7 @@ mov rdx, [rel .test + 8] hlt +align 4096 .test: db 0, 0, 0, 0, 0, 0, 0, 0 db 0, 0, 0, 0, 0, 0, 0, 0 diff --git a/unittests/ASM/FEX_bugs/sbbNZCVBug.asm b/unittests/ASM/FEX_bugs/sbbNZCVBug.asm index aae588a2d..611f3d987 100644 --- a/unittests/ASM/FEX_bugs/sbbNZCVBug.asm +++ b/unittests/ASM/FEX_bugs/sbbNZCVBug.asm @@ -76,6 +76,7 @@ movzx ebx, dl hlt +align 4096 .current_x: dq 1 diff --git a/unittests/ASM/FEX_bugs/smallvectorload_regreg.asm b/unittests/ASM/FEX_bugs/smallvectorload_regreg.asm index 179a4002c..08d71b920 100644 --- a/unittests/ASM/FEX_bugs/smallvectorload_regreg.asm +++ b/unittests/ASM/FEX_bugs/smallvectorload_regreg.asm @@ -43,7 +43,8 @@ pextrb [rbx + rcx], xmm0, 0 movaps xmm5, [rbx + rcx] hlt -align 32 + +align 4096 .data: dq 0x7172737475767778 dq 0x4142434445464748 diff --git a/unittests/ASM/FEX_bugs/x87DecrementStackBug.asm b/unittests/ASM/FEX_bugs/x87DecrementStackBug.asm index afc068c9f..8af8b532c 100644 --- a/unittests/ASM/FEX_bugs/x87DecrementStackBug.asm +++ b/unittests/ASM/FEX_bugs/x87DecrementStackBug.asm @@ -30,6 +30,7 @@ movups xmm0, [rel .data_result] hlt +align 4096 .data1: dt 2.0 dq 0 diff --git a/unittests/ASM/FEX_bugs/x87IncrementStackBug.asm b/unittests/ASM/FEX_bugs/x87IncrementStackBug.asm index a991aa2c0..1e4392f19 100644 --- a/unittests/ASM/FEX_bugs/x87IncrementStackBug.asm +++ b/unittests/ASM/FEX_bugs/x87IncrementStackBug.asm @@ -32,6 +32,7 @@ movups xmm0, [rel .data_result] hlt +align 4096 ; This or zero are incorrect results .data1: dt 2.0 diff --git a/unittests/ASM/FEX_bugs/x87_fprem.asm b/unittests/ASM/FEX_bugs/x87_fprem.asm index 8f1545d6e..87a759547 100644 --- a/unittests/ASM/FEX_bugs/x87_fprem.asm +++ b/unittests/ASM/FEX_bugs/x87_fprem.asm @@ -63,6 +63,7 @@ mov rsp, qword [rel .data_result + (8 * 7)] hlt +align 4096 .data_big: dq 83403126337775.0 diff --git a/unittests/ASM/FEX_bugs/x87_integer_indefinite.asm b/unittests/ASM/FEX_bugs/x87_integer_indefinite.asm index 289aeec87..3133d1b8d 100644 --- a/unittests/ASM/FEX_bugs/x87_integer_indefinite.asm +++ b/unittests/ASM/FEX_bugs/x87_integer_indefinite.asm @@ -50,6 +50,7 @@ mov rdi, qword [rel .data_res_neg_64] hlt +align 4096 ; One-integer larger than what int16_t can hold .double_larger_than_int16: dq 32768.0 diff --git a/unittests/ASM/H0F3A/66_08.asm b/unittests/ASM/H0F3A/66_08.asm index f6523862e..acc86201f 100644 --- a/unittests/ASM/H0F3A/66_08.asm +++ b/unittests/ASM/H0F3A/66_08.asm @@ -52,7 +52,7 @@ roundps xmm7, [rdx + 8 * 0], 00000100b hlt -align 16 +align 4096 .data: dd 0.5, -0.5, 1.5, -1.5 dq 0, 0 diff --git a/unittests/ASM/H0F3A/66_09.asm b/unittests/ASM/H0F3A/66_09.asm index 0bf1a0392..458029320 100644 --- a/unittests/ASM/H0F3A/66_09.asm +++ b/unittests/ASM/H0F3A/66_09.asm @@ -52,7 +52,7 @@ roundpd xmm7, [rdx + 8 * 0], 00000100b hlt -align 16 +align 4096 .data: dq 0.5, -0.5 dq 0, 0 diff --git a/unittests/ASM/H0F3A/66_0A.asm b/unittests/ASM/H0F3A/66_0A.asm index 662810f92..59766850f 100644 --- a/unittests/ASM/H0F3A/66_0A.asm +++ b/unittests/ASM/H0F3A/66_0A.asm @@ -61,7 +61,7 @@ roundss xmm7, [rdx + 8 * 0], 00000100b hlt -align 16 +align 4096 .data: dd 0.5, -0.5, 1.5, -1.5 dq 0, 0 diff --git a/unittests/ASM/H0F3A/66_0B.asm b/unittests/ASM/H0F3A/66_0B.asm index 97de2c729..5e0aa21a1 100644 --- a/unittests/ASM/H0F3A/66_0B.asm +++ b/unittests/ASM/H0F3A/66_0B.asm @@ -61,7 +61,7 @@ roundsd xmm7, [rdx + 8 * 0], 00000100b hlt -align 16 +align 4096 .data: dq 0.5, -0.5 dq 0, 0 diff --git a/unittests/ASM/H0F3A/66_0E.asm b/unittests/ASM/H0F3A/66_0E.asm index 1aed4b026..1b92b086f 100644 --- a/unittests/ASM/H0F3A/66_0E.asm +++ b/unittests/ASM/H0F3A/66_0E.asm @@ -53,7 +53,7 @@ crc32 rax, qword [rel .data_temp + 8] hlt -align 16 +align 4096 ; 256bytes of random data .data: db 0x7f, 0xa4, 0x2f, 0x4d, 0x25, 0x0f, 0x51, 0x48, 0x86, 0x48, 0x97, 0x3a, 0x31, 0x74, 0x57, 0x2b diff --git a/unittests/ASM/H0F3A/66_22_2.asm b/unittests/ASM/H0F3A/66_22_2.asm index ebfecb52f..a21af6e25 100644 --- a/unittests/ASM/H0F3A/66_22_2.asm +++ b/unittests/ASM/H0F3A/66_22_2.asm @@ -22,12 +22,10 @@ pinsrd xmm0, esi, 0 mov eax, [rel val] hlt -section .bss -align 32 -val resd 1 +align 4096 +val: dd 0 -section .data align 128 -arg1: +arg1: dq 0x414243443f800000 dq 0x5152535455565758 diff --git a/unittests/ASM/H0F3A/pcmpestri_equal_any.asm b/unittests/ASM/H0F3A/pcmpestri_equal_any.asm index ac68107d9..75643bb58 100644 --- a/unittests/ASM/H0F3A/pcmpestri_equal_any.asm +++ b/unittests/ASM/H0F3A/pcmpestri_equal_any.asm @@ -118,7 +118,7 @@ movaps xmm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x6463626144434241 ; "ABCDabcd" dq 0x6C6B6A694C4B4A49 ; "IJKLijkl" diff --git a/unittests/ASM/H0F3A/pcmpestri_equal_each.asm b/unittests/ASM/H0F3A/pcmpestri_equal_each.asm index 75145025b..4f2b7736b 100644 --- a/unittests/ASM/H0F3A/pcmpestri_equal_each.asm +++ b/unittests/ASM/H0F3A/pcmpestri_equal_each.asm @@ -168,7 +168,7 @@ movaps xmm5, [rel .flags + 16] hlt -align 32 +align 4096 .data: dq 0x6550206F6C6C6548 ; "Hello Pe" dq 0x21212121656C706F ; "ople!!!!" diff --git a/unittests/ASM/H0F3A/pcmpestri_equal_ordered.asm b/unittests/ASM/H0F3A/pcmpestri_equal_ordered.asm index 5acc01d96..a096d7fb6 100644 --- a/unittests/ASM/H0F3A/pcmpestri_equal_ordered.asm +++ b/unittests/ASM/H0F3A/pcmpestri_equal_ordered.asm @@ -121,7 +121,7 @@ movaps xmm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x6550206F6FFF6C6C ; "ll" with junk following it dq 0x21212121656C706F diff --git a/unittests/ASM/H0F3A/pcmpestri_ranges.asm b/unittests/ASM/H0F3A/pcmpestri_ranges.asm index 155ff6a89..dd79faece 100644 --- a/unittests/ASM/H0F3A/pcmpestri_ranges.asm +++ b/unittests/ASM/H0F3A/pcmpestri_ranges.asm @@ -119,7 +119,7 @@ movaps xmm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x998877665A417A61 ; "azAZ" (followed by junk) dq 0x55AACCBBFF223344 diff --git a/unittests/ASM/H0F3A/pcmpestrm_equal_any.asm b/unittests/ASM/H0F3A/pcmpestrm_equal_any.asm index 5062bd669..162d2061e 100644 --- a/unittests/ASM/H0F3A/pcmpestrm_equal_any.asm +++ b/unittests/ASM/H0F3A/pcmpestrm_equal_any.asm @@ -127,7 +127,7 @@ movaps xmm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x6463626144434241 ; "ABCDabcd" dq 0x6C6B6A694C4B4A49 ; "IJKLijkl" diff --git a/unittests/ASM/H0F3A/pcmpestrm_equal_each.asm b/unittests/ASM/H0F3A/pcmpestrm_equal_each.asm index 0bdb6cbef..e04a5bfd0 100644 --- a/unittests/ASM/H0F3A/pcmpestrm_equal_each.asm +++ b/unittests/ASM/H0F3A/pcmpestrm_equal_each.asm @@ -134,7 +134,7 @@ movaps xmm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x6550206F6C6C6548 ; "Hello Pe" dq 0x21212121656C706F ; "ople!!!!" diff --git a/unittests/ASM/H0F3A/pcmpestrm_equal_ordered.asm b/unittests/ASM/H0F3A/pcmpestrm_equal_ordered.asm index b7c6f6de1..441709621 100644 --- a/unittests/ASM/H0F3A/pcmpestrm_equal_ordered.asm +++ b/unittests/ASM/H0F3A/pcmpestrm_equal_ordered.asm @@ -131,7 +131,7 @@ movaps xmm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x6550206F6FFF6C6C ; "ll" with junk following it dq 0x21212121656C706F diff --git a/unittests/ASM/H0F3A/pcmpestrm_ranges.asm b/unittests/ASM/H0F3A/pcmpestrm_ranges.asm index b195796f5..b3039ef02 100644 --- a/unittests/ASM/H0F3A/pcmpestrm_ranges.asm +++ b/unittests/ASM/H0F3A/pcmpestrm_ranges.asm @@ -128,7 +128,7 @@ movaps xmm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x998877665A417A61 ; "azAZ" (followed by junk) dq 0x55AACCBBFF223344 diff --git a/unittests/ASM/H0F3A/pcmpistri_equal_any.asm b/unittests/ASM/H0F3A/pcmpistri_equal_any.asm index 1fa11e55e..ce66032a1 100644 --- a/unittests/ASM/H0F3A/pcmpistri_equal_any.asm +++ b/unittests/ASM/H0F3A/pcmpistri_equal_any.asm @@ -111,7 +111,7 @@ movaps xmm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x6463626144434241 ; "ABCDabcd" dq 0x6C6B6A694C4B4A00 ; "\0JKLijkl" diff --git a/unittests/ASM/H0F3A/pcmpistri_equal_each.asm b/unittests/ASM/H0F3A/pcmpistri_equal_each.asm index 111b36aa0..fabf2bb10 100644 --- a/unittests/ASM/H0F3A/pcmpistri_equal_each.asm +++ b/unittests/ASM/H0F3A/pcmpistri_equal_each.asm @@ -115,7 +115,7 @@ movaps xmm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x6550206F6C6C6548 ; "Hello Pe" dq 0x00002121656C706F ; "ople!!\0\0" diff --git a/unittests/ASM/H0F3A/pcmpistri_equal_ordered.asm b/unittests/ASM/H0F3A/pcmpistri_equal_ordered.asm index 03be23ab7..81e931fbf 100644 --- a/unittests/ASM/H0F3A/pcmpistri_equal_ordered.asm +++ b/unittests/ASM/H0F3A/pcmpistri_equal_ordered.asm @@ -113,7 +113,7 @@ movaps xmm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x6550206F6F006C6C ; "ll" with junk following it dq 0x21212121656C706F diff --git a/unittests/ASM/H0F3A/pcmpistri_ranges.asm b/unittests/ASM/H0F3A/pcmpistri_ranges.asm index 091e5fd70..b67371784 100644 --- a/unittests/ASM/H0F3A/pcmpistri_ranges.asm +++ b/unittests/ASM/H0F3A/pcmpistri_ranges.asm @@ -121,7 +121,7 @@ movaps xmm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x998877005A417A61 ; "azAZ" (followed by junk) dq 0x55AACCBBFF223344 diff --git a/unittests/ASM/H0F3A/pcmpistrm_equal_any.asm b/unittests/ASM/H0F3A/pcmpistrm_equal_any.asm index c0dbbb606..1bb8112bc 100644 --- a/unittests/ASM/H0F3A/pcmpistrm_equal_any.asm +++ b/unittests/ASM/H0F3A/pcmpistrm_equal_any.asm @@ -121,7 +121,7 @@ movaps xmm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x6463626144434241 ; "ABCDabcd" dq 0x6C6B6A694C4B4A00 ; "\0JKLijkl" diff --git a/unittests/ASM/H0F3A/pcmpistrm_equal_each.asm b/unittests/ASM/H0F3A/pcmpistrm_equal_each.asm index e7e388ef9..61d8ac461 100644 --- a/unittests/ASM/H0F3A/pcmpistrm_equal_each.asm +++ b/unittests/ASM/H0F3A/pcmpistrm_equal_each.asm @@ -126,7 +126,7 @@ movaps xmm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x6550206F6C6C6548 ; "Hello Pe" dq 0x00002121656C706F ; "ople!!\0\0" diff --git a/unittests/ASM/H0F3A/pcmpistrm_equal_ordered.asm b/unittests/ASM/H0F3A/pcmpistrm_equal_ordered.asm index b48acb8bb..7493e8124 100644 --- a/unittests/ASM/H0F3A/pcmpistrm_equal_ordered.asm +++ b/unittests/ASM/H0F3A/pcmpistrm_equal_ordered.asm @@ -124,7 +124,7 @@ movaps xmm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x6550206F6F006C6C ; "ll" with junk following it dq 0x21212121656C706F diff --git a/unittests/ASM/H0F3A/pcmpistrm_ranges.asm b/unittests/ASM/H0F3A/pcmpistrm_ranges.asm index 1a5569f0a..1ac062e71 100644 --- a/unittests/ASM/H0F3A/pcmpistrm_ranges.asm +++ b/unittests/ASM/H0F3A/pcmpistrm_ranges.asm @@ -121,7 +121,7 @@ movaps xmm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x998877005A417A61 ; "azAZ" (followed by junk) dq 0x55AACCBBFF223344 diff --git a/unittests/ASM/OpSize/66_17.asm b/unittests/ASM/OpSize/66_17.asm index 13416d46a..96a0d811c 100644 --- a/unittests/ASM/OpSize/66_17.asm +++ b/unittests/ASM/OpSize/66_17.asm @@ -15,7 +15,7 @@ movapd xmm1, [rdx + 16] hlt -align 16 +align 4096 .data: dq 0x4142434445464748 dq 0x5152535455565758 diff --git a/unittests/ASM/Primary/Primary_D7.asm b/unittests/ASM/Primary/Primary_D7.asm index 1aa873614..148b79361 100644 --- a/unittests/ASM/Primary/Primary_D7.asm +++ b/unittests/ASM/Primary/Primary_D7.asm @@ -52,6 +52,7 @@ wrgsbase rax hlt +align 4096 .data_backup: dq 0 dq 0 diff --git a/unittests/ASM/PrimaryGroup/3_F6_03_2.asm b/unittests/ASM/PrimaryGroup/3_F6_03_2.asm index d4a77a6aa..75ba1c0aa 100644 --- a/unittests/ASM/PrimaryGroup/3_F6_03_2.asm +++ b/unittests/ASM/PrimaryGroup/3_F6_03_2.asm @@ -33,7 +33,7 @@ mov rcx, [r15 + 8 * 2] hlt -align 16 +align 4096 ; 256bytes of random data .data: db 0x7f, 0xa4, 0x2f, 0x4d, 0x25, 0x0f, 0x51, 0x48, 0x86, 0x48, 0x97, 0x3a, 0x31, 0x74, 0x57, 0x2b diff --git a/unittests/ASM/REP/F3_52.asm b/unittests/ASM/REP/F3_52.asm index 33356ae04..361bb8396 100644 --- a/unittests/ASM/REP/F3_52.asm +++ b/unittests/ASM/REP/F3_52.asm @@ -71,7 +71,7 @@ pextrd [rel result4], xmm3, 0 pinsrd xmm3, esi, 0 check_relerr rel eresult4, rel result4, rel tolerance -; no need to test the other results which are the same, +; no need to test the other results which are the same, ; we can just zero them. pinsrd xmm4, esi, 0 pinsrd xmm5, esi, 0 @@ -79,17 +79,15 @@ pinsrd xmm6, esi, 0 pinsrd xmm7, esi, 0 hlt -section .bss -align 32 -result1 resd 1 -result2 resd 1 -result3 resd 1 -result4 resd 1 +align 4096 +result1 dd 0 +result2 dd 0 +result3 dd 0 +result4 dd 0 -section .data align 16 -arg1: +arg1: dq 0x414243443f800000 ; 1.0 dq 0x5152535455565758 @@ -109,13 +107,13 @@ arg5: dq 0x4142434441c80000 ; 25.0 dq 0x5152535455565758 -eresult1: +eresult1: dd 0x3f800000 ; 1.0 eresult2: dd 0x3f000000 ; 0.5 -eresult3: +eresult3: dd 0x3eaaaaab ; 1/3 = 0.(3) eresult4: diff --git a/unittests/ASM/REP/F3_53.asm b/unittests/ASM/REP/F3_53.asm index dc6426ac7..015162bac 100644 --- a/unittests/ASM/REP/F3_53.asm +++ b/unittests/ASM/REP/F3_53.asm @@ -40,16 +40,13 @@ check_relerr rel eresult2, rel result2, rel tolerance hlt +align 4096 +result1 dd 0 +result2 dd 0 -section .bss -align 32 -result1 resd 1 -result2 resd 1 - -section .data align 16 -arg1: +arg1: dq 0x3f8000003f800000 ; 1.0 dq 0x3f8000003f800000 @@ -61,7 +58,7 @@ arg3: dq 0xdeadbeef00000000 ; 0.0 dq 0xbadc0ffebadc0ffe -eresult1: +eresult1: dd 0x3f800000 ; 1.0 eresult2: diff --git a/unittests/ASM/Secondary/07_XX_00.asm b/unittests/ASM/Secondary/07_XX_00.asm index acad65418..7f1eb0305 100644 --- a/unittests/ASM/Secondary/07_XX_00.asm +++ b/unittests/ASM/Secondary/07_XX_00.asm @@ -13,6 +13,7 @@ movzx rax, word [rel data] mov rbx, qword [rel data + 2] hlt +align 4096 data: ; Limit dw 0 diff --git a/unittests/ASM/Secondary/15_F3_00.asm b/unittests/ASM/Secondary/15_F3_00.asm index 7affbe047..d61c84fd9 100644 --- a/unittests/ASM/Secondary/15_F3_00.asm +++ b/unittests/ASM/Secondary/15_F3_00.asm @@ -26,5 +26,6 @@ wrfsbase rdx hlt +align 4096 .data_backup: dq 0 diff --git a/unittests/ASM/Secondary/15_F3_02.asm b/unittests/ASM/Secondary/15_F3_02.asm index e17870fda..0eb94dfa7 100644 --- a/unittests/ASM/Secondary/15_F3_02.asm +++ b/unittests/ASM/Secondary/15_F3_02.asm @@ -25,5 +25,6 @@ wrfsbase rbx hlt +align 4096 .data_backup: dq 0 diff --git a/unittests/ASM/Secondary/15_F3_02_2.asm b/unittests/ASM/Secondary/15_F3_02_2.asm index 891a10891..2528daa38 100644 --- a/unittests/ASM/Secondary/15_F3_02_2.asm +++ b/unittests/ASM/Secondary/15_F3_02_2.asm @@ -25,5 +25,6 @@ wrfsbase rcx hlt +align 4096 .data_backup: dq 0 diff --git a/unittests/ASM/TwoByte/0F_17.asm b/unittests/ASM/TwoByte/0F_17.asm index 288a34bbd..b6efd63e5 100644 --- a/unittests/ASM/TwoByte/0F_17.asm +++ b/unittests/ASM/TwoByte/0F_17.asm @@ -19,7 +19,7 @@ movaps xmm1, [rdx + 32] hlt -align 16 +align 4096 .data: dq 0x4142434445464748 dq 0x5152535455565758 diff --git a/unittests/ASM/TwoByte/0F_52.asm b/unittests/ASM/TwoByte/0F_52.asm index ab14db7b6..bc96f5270 100644 --- a/unittests/ASM/TwoByte/0F_52.asm +++ b/unittests/ASM/TwoByte/0F_52.asm @@ -91,13 +91,12 @@ and r9, rax hlt -section .bss -result1: resd 1 -result2: resd 1 -result3: resd 1 -result4: resd 1 +align 4096 +result1: dd 0 +result2: dd 0 +result3: dd 0 +result4: dd 0 -section .data align 64 arg1: diff --git a/unittests/ASM/TwoByte/0F_53.asm b/unittests/ASM/TwoByte/0F_53.asm index 2227f43a5..ef7fb2034 100644 --- a/unittests/ASM/TwoByte/0F_53.asm +++ b/unittests/ASM/TwoByte/0F_53.asm @@ -15,7 +15,7 @@ %macro same_pdwords 1 ; receives the xmms register movd eax, %1 movd xmm15, eax - pshufd xmm15, xmm15, 0 ; has the lower 32bits of %1 accross all lanes + pshufd xmm15, xmm15, 0 ; has the lower 32bits of %1 accross all lanes pcmpeqd xmm15, %1 ; has equalty mask on all lanes movmskps eax, xmm15 ; gets sign bit of each lane into eax cmp eax, 0b1111 @@ -50,18 +50,17 @@ and r9, rax hlt -section .bss -result1: resd 1 -result2: resd 1 +align 4096 +result1: dd 0 +result2: dd 0 -section .data align 64 -arg1: +arg1: dq 0x3f8000003f800000 ; 1.0 dq 0x3f8000003f800000 -arg2: +arg2: dq 0x4080000040800000 ; 4.0 dq 0x4080000040800000 diff --git a/unittests/ASM/VEX/vcvtps2ph_rd.asm b/unittests/ASM/VEX/vcvtps2ph_rd.asm index 333cbdcf4..8da435400 100644 --- a/unittests/ASM/VEX/vcvtps2ph_rd.asm +++ b/unittests/ASM/VEX/vcvtps2ph_rd.asm @@ -48,7 +48,7 @@ vmovapd xmm7, [rel .memarea + 16] hlt -align 32 +align 4096 .data: dd 0x3F800000, 0x00800000, 0x7F7FFFFF, 0x7FC00000 ; 1.0, FLT_MIN, FLT_MAX, QNaN dd 0x40600000, 0x7F800000, 0xFF800000, 0x00000001 ; 3.5, +inf, -inf, FLT_TRUE_MIN diff --git a/unittests/ASM/VEX/vcvtps2ph_rd_mxcsr.asm b/unittests/ASM/VEX/vcvtps2ph_rd_mxcsr.asm index d88b99e9e..424168647 100644 --- a/unittests/ASM/VEX/vcvtps2ph_rd_mxcsr.asm +++ b/unittests/ASM/VEX/vcvtps2ph_rd_mxcsr.asm @@ -49,7 +49,7 @@ vmovapd xmm7, [rel .memarea + 16] hlt -align 32 +align 4096 .data: dd 0x3F800000, 0x00800000, 0x7F7FFFFF, 0x7FC00000 ; 1.0, FLT_MIN, FLT_MAX, QNaN dd 0x40600000, 0x7F800000, 0xFF800000, 0x00000001 ; 3.5, +inf, -inf, FLT_TRUE_MIN diff --git a/unittests/ASM/VEX/vcvtps2ph_rtne.asm b/unittests/ASM/VEX/vcvtps2ph_rtne.asm index 89960ddb0..c5046e69f 100644 --- a/unittests/ASM/VEX/vcvtps2ph_rtne.asm +++ b/unittests/ASM/VEX/vcvtps2ph_rtne.asm @@ -54,7 +54,7 @@ vmovaps ymm8, [rel .data_bad] hlt -align 32 +align 4096 .data: dd 0x3F800000, 0x00800000, 0x7F7FFFFF, 0x7FC00000 ; 1.0, FLT_MIN, FLT_MAX, QNaN dd 0x40600000, 0x7F800000, 0xFF800000, 0x00000001 ; 3.5, +inf, -inf, FLT_TRUE_MIN diff --git a/unittests/ASM/VEX/vcvtps2ph_rtne_mxcsr.asm b/unittests/ASM/VEX/vcvtps2ph_rtne_mxcsr.asm index 13f0d4793..efbadf3f4 100644 --- a/unittests/ASM/VEX/vcvtps2ph_rtne_mxcsr.asm +++ b/unittests/ASM/VEX/vcvtps2ph_rtne_mxcsr.asm @@ -49,7 +49,7 @@ vmovapd xmm7, [rel .memarea + 16] hlt -align 32 +align 4096 .data: dd 0x3F800000, 0x00800000, 0x7F7FFFFF, 0x7FC00000 ; 1.0, FLT_MIN, FLT_MAX, QNaN dd 0x40600000, 0x7F800000, 0xFF800000, 0x00000001 ; 3.5, +inf, -inf, FLT_TRUE_MIN diff --git a/unittests/ASM/VEX/vcvtps2ph_ru.asm b/unittests/ASM/VEX/vcvtps2ph_ru.asm index 1bc3b0e15..6b5ff0f43 100644 --- a/unittests/ASM/VEX/vcvtps2ph_ru.asm +++ b/unittests/ASM/VEX/vcvtps2ph_ru.asm @@ -48,7 +48,7 @@ vmovapd xmm7, [rel .memarea + 16] hlt -align 32 +align 4096 .data: dd 0x3F800000, 0x00800000, 0x7F7FFFFF, 0x7FC00000 ; 1.0, FLT_MIN, FLT_MAX, QNaN dd 0x40600000, 0x7F800000, 0xFF800000, 0x00000001 ; 3.5, +inf, -inf, FLT_TRUE_MIN diff --git a/unittests/ASM/VEX/vcvtps2ph_ru_mxcsr.asm b/unittests/ASM/VEX/vcvtps2ph_ru_mxcsr.asm index dd505745c..d660d1acb 100644 --- a/unittests/ASM/VEX/vcvtps2ph_ru_mxcsr.asm +++ b/unittests/ASM/VEX/vcvtps2ph_ru_mxcsr.asm @@ -49,7 +49,7 @@ vmovapd xmm7, [rel .memarea + 16] hlt -align 32 +align 4096 .data: dd 0x3F800000, 0x00800000, 0x7F7FFFFF, 0x7FC00000 ; 1.0, FLT_MIN, FLT_MAX, QNaN dd 0x40600000, 0x7F800000, 0xFF800000, 0x00000001 ; 3.5, +inf, -inf, FLT_TRUE_MIN diff --git a/unittests/ASM/VEX/vcvtps2ph_trunc.asm b/unittests/ASM/VEX/vcvtps2ph_trunc.asm index 3d45bcba5..82c6da91a 100644 --- a/unittests/ASM/VEX/vcvtps2ph_trunc.asm +++ b/unittests/ASM/VEX/vcvtps2ph_trunc.asm @@ -48,7 +48,7 @@ vmovapd xmm7, [rel .memarea + 16] hlt -align 32 +align 4096 .data: dd 0x3F800000, 0x00800000, 0x7F7FFFFF, 0x7FC00000 ; 1.0, FLT_MIN, FLT_MAX, QNaN dd 0x40600000, 0x7F800000, 0xFF800000, 0x00000001 ; 3.5, +inf, -inf, FLT_TRUE_MIN diff --git a/unittests/ASM/VEX/vcvtps2ph_trunc_mxcsr.asm b/unittests/ASM/VEX/vcvtps2ph_trunc_mxcsr.asm index ec5bcb74f..b1d37c37c 100644 --- a/unittests/ASM/VEX/vcvtps2ph_trunc_mxcsr.asm +++ b/unittests/ASM/VEX/vcvtps2ph_trunc_mxcsr.asm @@ -49,7 +49,7 @@ vmovapd xmm7, [rel .memarea + 16] hlt -align 32 +align 4096 .data: dd 0x3F800000, 0x00800000, 0x7F7FFFFF, 0x7FC00000 ; 1.0, FLT_MIN, FLT_MAX, QNaN dd 0x40600000, 0x7F800000, 0xFF800000, 0x00000001 ; 3.5, +inf, -inf, FLT_TRUE_MIN diff --git a/unittests/ASM/VEX/vextractf128.asm b/unittests/ASM/VEX/vextractf128.asm index 62b443ac1..b9e2cf373 100644 --- a/unittests/ASM/VEX/vextractf128.asm +++ b/unittests/ASM/VEX/vextractf128.asm @@ -29,7 +29,7 @@ vmovapd ymm15, [rel .scratch2] hlt -align 32 +align 4096 .data: dq 0xAAAAAAAABBBBBBBB dq 0xCCCCCCCCDDDDDDDD diff --git a/unittests/ASM/VEX/vextracti128.asm b/unittests/ASM/VEX/vextracti128.asm index c4cb41ebf..19542f2c2 100644 --- a/unittests/ASM/VEX/vextracti128.asm +++ b/unittests/ASM/VEX/vextracti128.asm @@ -29,7 +29,7 @@ vmovapd ymm15, [rel .scratch2] hlt -align 32 +align 4096 .data: dq 0xAAAAAAAABBBBBBBB dq 0xCCCCCCCCDDDDDDDD diff --git a/unittests/ASM/VEX/vgather_dpd_128bit_1xdisp.asm b/unittests/ASM/VEX/vgather_dpd_128bit_1xdisp.asm index b7686966c..2a846da1b 100644 --- a/unittests/ASM/VEX/vgather_dpd_128bit_1xdisp.asm +++ b/unittests/ASM/VEX/vgather_dpd_128bit_1xdisp.asm @@ -100,7 +100,7 @@ vgatherdpd xmm3, [xmm0 * 1 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vgather_dpd_128bit_2xdisp.asm b/unittests/ASM/VEX/vgather_dpd_128bit_2xdisp.asm index 1aa24ade5..b36a5e92c 100644 --- a/unittests/ASM/VEX/vgather_dpd_128bit_2xdisp.asm +++ b/unittests/ASM/VEX/vgather_dpd_128bit_2xdisp.asm @@ -100,7 +100,7 @@ vgatherdpd xmm3, [xmm0 * 2 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vgather_dpd_128bit_4xdisp.asm b/unittests/ASM/VEX/vgather_dpd_128bit_4xdisp.asm index 1616c764e..55a57a5b9 100644 --- a/unittests/ASM/VEX/vgather_dpd_128bit_4xdisp.asm +++ b/unittests/ASM/VEX/vgather_dpd_128bit_4xdisp.asm @@ -100,7 +100,7 @@ vgatherdpd xmm3, [xmm0 * 4 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vgather_dpd_128bit_8xdisp.asm b/unittests/ASM/VEX/vgather_dpd_128bit_8xdisp.asm index ffd3e2e87..2bb236be7 100644 --- a/unittests/ASM/VEX/vgather_dpd_128bit_8xdisp.asm +++ b/unittests/ASM/VEX/vgather_dpd_128bit_8xdisp.asm @@ -100,7 +100,7 @@ vgatherdpd xmm3, [xmm0 * 8 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vgather_dpd_256bit_1xdisp.asm b/unittests/ASM/VEX/vgather_dpd_256bit_1xdisp.asm index 66dd04d9d..7ab46f2a8 100644 --- a/unittests/ASM/VEX/vgather_dpd_256bit_1xdisp.asm +++ b/unittests/ASM/VEX/vgather_dpd_256bit_1xdisp.asm @@ -100,7 +100,7 @@ vgatherdpd ymm3, [xmm0 * 1 + rax], ymm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vgather_dpd_256bit_2xdisp.asm b/unittests/ASM/VEX/vgather_dpd_256bit_2xdisp.asm index c4b514698..1d78f5dea 100644 --- a/unittests/ASM/VEX/vgather_dpd_256bit_2xdisp.asm +++ b/unittests/ASM/VEX/vgather_dpd_256bit_2xdisp.asm @@ -100,7 +100,7 @@ vgatherdpd ymm3, [xmm0 * 2 + rax], ymm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vgather_dpd_256bit_4xdisp.asm b/unittests/ASM/VEX/vgather_dpd_256bit_4xdisp.asm index 1594528f7..8e0032632 100644 --- a/unittests/ASM/VEX/vgather_dpd_256bit_4xdisp.asm +++ b/unittests/ASM/VEX/vgather_dpd_256bit_4xdisp.asm @@ -100,7 +100,7 @@ vgatherdpd ymm3, [xmm0 * 4 + rax], ymm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vgather_dpd_256bit_8xdisp.asm b/unittests/ASM/VEX/vgather_dpd_256bit_8xdisp.asm index 8c77b8ee4..7bffb7cf4 100644 --- a/unittests/ASM/VEX/vgather_dpd_256bit_8xdisp.asm +++ b/unittests/ASM/VEX/vgather_dpd_256bit_8xdisp.asm @@ -100,7 +100,7 @@ vgatherdpd ymm3, [xmm0 * 8 + rax], ymm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vgather_dps_128bit_1xdisp.asm b/unittests/ASM/VEX/vgather_dps_128bit_1xdisp.asm index 1ccd3eb43..4dbb3547a 100644 --- a/unittests/ASM/VEX/vgather_dps_128bit_1xdisp.asm +++ b/unittests/ASM/VEX/vgather_dps_128bit_1xdisp.asm @@ -100,7 +100,7 @@ vgatherdps xmm3, [xmm0 * 1 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vgather_dps_128bit_2xdisp.asm b/unittests/ASM/VEX/vgather_dps_128bit_2xdisp.asm index 1f081d2b4..5fe9126fa 100644 --- a/unittests/ASM/VEX/vgather_dps_128bit_2xdisp.asm +++ b/unittests/ASM/VEX/vgather_dps_128bit_2xdisp.asm @@ -100,7 +100,7 @@ vgatherdps xmm3, [xmm0 * 2 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vgather_dps_128bit_4xdisp.asm b/unittests/ASM/VEX/vgather_dps_128bit_4xdisp.asm index 4c9a36738..141bcb564 100644 --- a/unittests/ASM/VEX/vgather_dps_128bit_4xdisp.asm +++ b/unittests/ASM/VEX/vgather_dps_128bit_4xdisp.asm @@ -100,7 +100,7 @@ vgatherdps xmm3, [xmm0 * 4 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vgather_dps_128bit_8xdisp.asm b/unittests/ASM/VEX/vgather_dps_128bit_8xdisp.asm index 564faa26c..42a842037 100644 --- a/unittests/ASM/VEX/vgather_dps_128bit_8xdisp.asm +++ b/unittests/ASM/VEX/vgather_dps_128bit_8xdisp.asm @@ -100,7 +100,7 @@ vgatherdps xmm3, [xmm0 * 8 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vgather_dps_256bit_1xdisp.asm b/unittests/ASM/VEX/vgather_dps_256bit_1xdisp.asm index f3198e0e8..de1e15cfb 100644 --- a/unittests/ASM/VEX/vgather_dps_256bit_1xdisp.asm +++ b/unittests/ASM/VEX/vgather_dps_256bit_1xdisp.asm @@ -100,7 +100,7 @@ vgatherdps ymm3, [ymm0 * 1 + rax], ymm1 ; xmm1 will be zero after this. hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vgather_dps_256bit_2xdisp.asm b/unittests/ASM/VEX/vgather_dps_256bit_2xdisp.asm index b682ec5c9..163253ed4 100644 --- a/unittests/ASM/VEX/vgather_dps_256bit_2xdisp.asm +++ b/unittests/ASM/VEX/vgather_dps_256bit_2xdisp.asm @@ -100,7 +100,7 @@ vgatherdps ymm3, [ymm0 * 2 + rax], ymm1 ; xmm1 will be zero after this. hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vgather_dps_256bit_4xdisp.asm b/unittests/ASM/VEX/vgather_dps_256bit_4xdisp.asm index c090be7db..eef6dbe53 100644 --- a/unittests/ASM/VEX/vgather_dps_256bit_4xdisp.asm +++ b/unittests/ASM/VEX/vgather_dps_256bit_4xdisp.asm @@ -100,7 +100,7 @@ vgatherdps ymm3, [ymm0 * 4 + rax], ymm1 ; xmm1 will be zero after this. hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vgather_dps_256bit_8xdisp.asm b/unittests/ASM/VEX/vgather_dps_256bit_8xdisp.asm index 615b88108..89542bdbc 100644 --- a/unittests/ASM/VEX/vgather_dps_256bit_8xdisp.asm +++ b/unittests/ASM/VEX/vgather_dps_256bit_8xdisp.asm @@ -99,7 +99,7 @@ vgatherdps ymm3, [ymm0 * 8 + rax], ymm1 ; xmm1 will be zero after this. hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vgather_qpd_128bit_1xdisp.asm b/unittests/ASM/VEX/vgather_qpd_128bit_1xdisp.asm index 5589df096..9a749d470 100644 --- a/unittests/ASM/VEX/vgather_qpd_128bit_1xdisp.asm +++ b/unittests/ASM/VEX/vgather_qpd_128bit_1xdisp.asm @@ -100,7 +100,7 @@ vgatherqpd xmm3, [xmm0 * 1 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vgather_qpd_128bit_1xdisp_overflow.asm b/unittests/ASM/VEX/vgather_qpd_128bit_1xdisp_overflow.asm index 2fea20a1b..3331a200c 100644 --- a/unittests/ASM/VEX/vgather_qpd_128bit_1xdisp_overflow.asm +++ b/unittests/ASM/VEX/vgather_qpd_128bit_1xdisp_overflow.asm @@ -46,7 +46,7 @@ vgatherqpd xmm15, [xmm0 * 1 + rax + 1], xmm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/ASM/VEX/vgather_qpd_128bit_2xdisp.asm b/unittests/ASM/VEX/vgather_qpd_128bit_2xdisp.asm index 1888a1bbd..84a454198 100644 --- a/unittests/ASM/VEX/vgather_qpd_128bit_2xdisp.asm +++ b/unittests/ASM/VEX/vgather_qpd_128bit_2xdisp.asm @@ -100,7 +100,7 @@ vgatherqpd xmm3, [xmm0 * 2 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vgather_qpd_128bit_2xdisp_overflow.asm b/unittests/ASM/VEX/vgather_qpd_128bit_2xdisp_overflow.asm index 2386a7757..6e5692c7c 100644 --- a/unittests/ASM/VEX/vgather_qpd_128bit_2xdisp_overflow.asm +++ b/unittests/ASM/VEX/vgather_qpd_128bit_2xdisp_overflow.asm @@ -50,7 +50,7 @@ vgatherqpd xmm15, [xmm0 * 2 + rax + 2], xmm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/ASM/VEX/vgather_qpd_128bit_4xdisp.asm b/unittests/ASM/VEX/vgather_qpd_128bit_4xdisp.asm index 0b0a7ce12..acef5d95f 100644 --- a/unittests/ASM/VEX/vgather_qpd_128bit_4xdisp.asm +++ b/unittests/ASM/VEX/vgather_qpd_128bit_4xdisp.asm @@ -100,7 +100,7 @@ vgatherqpd xmm3, [xmm0 * 4 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vgather_qpd_128bit_4xdisp_overflow.asm b/unittests/ASM/VEX/vgather_qpd_128bit_4xdisp_overflow.asm index 76dd9c9d7..904d8db1b 100644 --- a/unittests/ASM/VEX/vgather_qpd_128bit_4xdisp_overflow.asm +++ b/unittests/ASM/VEX/vgather_qpd_128bit_4xdisp_overflow.asm @@ -50,7 +50,7 @@ vgatherqpd xmm15, [xmm0 * 4 + rax + 4], xmm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/ASM/VEX/vgather_qpd_128bit_8xdisp.asm b/unittests/ASM/VEX/vgather_qpd_128bit_8xdisp.asm index c2fb4fb0c..308d225e1 100644 --- a/unittests/ASM/VEX/vgather_qpd_128bit_8xdisp.asm +++ b/unittests/ASM/VEX/vgather_qpd_128bit_8xdisp.asm @@ -100,7 +100,7 @@ vgatherqpd xmm3, [xmm0 * 8 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vgather_qpd_128bit_8xdisp_overflow.asm b/unittests/ASM/VEX/vgather_qpd_128bit_8xdisp_overflow.asm index 4e8c9feb1..628bfb529 100644 --- a/unittests/ASM/VEX/vgather_qpd_128bit_8xdisp_overflow.asm +++ b/unittests/ASM/VEX/vgather_qpd_128bit_8xdisp_overflow.asm @@ -50,7 +50,7 @@ vgatherqpd xmm15, [xmm0 * 8 + rax + 8], xmm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/ASM/VEX/vgather_qpd_256bit_1xdisp.asm b/unittests/ASM/VEX/vgather_qpd_256bit_1xdisp.asm index 9eb046a52..2321bfd63 100644 --- a/unittests/ASM/VEX/vgather_qpd_256bit_1xdisp.asm +++ b/unittests/ASM/VEX/vgather_qpd_256bit_1xdisp.asm @@ -100,7 +100,7 @@ vgatherqpd ymm3, [ymm0 * 1 + rax], ymm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vgather_qpd_256bit_1xdisp_overflow.asm b/unittests/ASM/VEX/vgather_qpd_256bit_1xdisp_overflow.asm index a1302a973..c8eb79856 100644 --- a/unittests/ASM/VEX/vgather_qpd_256bit_1xdisp_overflow.asm +++ b/unittests/ASM/VEX/vgather_qpd_256bit_1xdisp_overflow.asm @@ -46,7 +46,7 @@ vgatherqpd ymm15, [ymm0 * 1 + rax + 1], ymm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/ASM/VEX/vgather_qpd_256bit_2xdisp.asm b/unittests/ASM/VEX/vgather_qpd_256bit_2xdisp.asm index 1634fd67e..017075f55 100644 --- a/unittests/ASM/VEX/vgather_qpd_256bit_2xdisp.asm +++ b/unittests/ASM/VEX/vgather_qpd_256bit_2xdisp.asm @@ -100,7 +100,7 @@ vgatherqpd ymm3, [ymm0 * 2 + rax], ymm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vgather_qpd_256bit_2xdisp_overflow.asm b/unittests/ASM/VEX/vgather_qpd_256bit_2xdisp_overflow.asm index 2b90af167..b2e1a588c 100644 --- a/unittests/ASM/VEX/vgather_qpd_256bit_2xdisp_overflow.asm +++ b/unittests/ASM/VEX/vgather_qpd_256bit_2xdisp_overflow.asm @@ -50,7 +50,7 @@ vgatherqpd ymm15, [ymm0 * 2 + rax + 2], ymm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/ASM/VEX/vgather_qpd_256bit_4xdisp.asm b/unittests/ASM/VEX/vgather_qpd_256bit_4xdisp.asm index b7af9925f..ef98d9f67 100644 --- a/unittests/ASM/VEX/vgather_qpd_256bit_4xdisp.asm +++ b/unittests/ASM/VEX/vgather_qpd_256bit_4xdisp.asm @@ -100,7 +100,7 @@ vgatherqpd ymm3, [ymm0 * 4 + rax], ymm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vgather_qpd_256bit_4xdisp_overflow.asm b/unittests/ASM/VEX/vgather_qpd_256bit_4xdisp_overflow.asm index c1275328d..80a44a3ce 100644 --- a/unittests/ASM/VEX/vgather_qpd_256bit_4xdisp_overflow.asm +++ b/unittests/ASM/VEX/vgather_qpd_256bit_4xdisp_overflow.asm @@ -50,7 +50,7 @@ vgatherqpd ymm15, [ymm0 * 4 + rax + 4], ymm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/ASM/VEX/vgather_qpd_256bit_8xdisp.asm b/unittests/ASM/VEX/vgather_qpd_256bit_8xdisp.asm index 15ccb7360..241133166 100644 --- a/unittests/ASM/VEX/vgather_qpd_256bit_8xdisp.asm +++ b/unittests/ASM/VEX/vgather_qpd_256bit_8xdisp.asm @@ -100,7 +100,7 @@ vgatherqpd ymm3, [ymm0 * 8 + rax], ymm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vgather_qpd_256bit_8xdisp_overflow.asm b/unittests/ASM/VEX/vgather_qpd_256bit_8xdisp_overflow.asm index dfb827009..fb1024363 100644 --- a/unittests/ASM/VEX/vgather_qpd_256bit_8xdisp_overflow.asm +++ b/unittests/ASM/VEX/vgather_qpd_256bit_8xdisp_overflow.asm @@ -50,7 +50,7 @@ vgatherqpd ymm15, [ymm0 * 8 + rax + 8], ymm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/ASM/VEX/vgather_qps_128bit_1xdisp.asm b/unittests/ASM/VEX/vgather_qps_128bit_1xdisp.asm index 7fee22bbf..e5be98100 100644 --- a/unittests/ASM/VEX/vgather_qps_128bit_1xdisp.asm +++ b/unittests/ASM/VEX/vgather_qps_128bit_1xdisp.asm @@ -100,7 +100,7 @@ vgatherqps xmm3, [xmm0 * 1 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vgather_qps_128bit_1xdisp_overflow.asm b/unittests/ASM/VEX/vgather_qps_128bit_1xdisp_overflow.asm index e438cbcc1..3be0a03cd 100644 --- a/unittests/ASM/VEX/vgather_qps_128bit_1xdisp_overflow.asm +++ b/unittests/ASM/VEX/vgather_qps_128bit_1xdisp_overflow.asm @@ -46,7 +46,7 @@ vgatherqps xmm15, [xmm0 * 1 + rax + 1], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/ASM/VEX/vgather_qps_128bit_2xdisp.asm b/unittests/ASM/VEX/vgather_qps_128bit_2xdisp.asm index 0f295cc2a..c9ccfbcc5 100644 --- a/unittests/ASM/VEX/vgather_qps_128bit_2xdisp.asm +++ b/unittests/ASM/VEX/vgather_qps_128bit_2xdisp.asm @@ -100,7 +100,7 @@ vgatherqps xmm3, [xmm0 * 2 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vgather_qps_128bit_2xdisp_overflow.asm b/unittests/ASM/VEX/vgather_qps_128bit_2xdisp_overflow.asm index 53c72e187..58b6d54c0 100644 --- a/unittests/ASM/VEX/vgather_qps_128bit_2xdisp_overflow.asm +++ b/unittests/ASM/VEX/vgather_qps_128bit_2xdisp_overflow.asm @@ -50,7 +50,7 @@ vgatherqps xmm15, [xmm0 * 2 + rax + 2], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/ASM/VEX/vgather_qps_128bit_4xdisp.asm b/unittests/ASM/VEX/vgather_qps_128bit_4xdisp.asm index 0248517d2..660dbb372 100644 --- a/unittests/ASM/VEX/vgather_qps_128bit_4xdisp.asm +++ b/unittests/ASM/VEX/vgather_qps_128bit_4xdisp.asm @@ -100,7 +100,7 @@ vgatherqps xmm3, [xmm0 * 4 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vgather_qps_128bit_4xdisp_overflow.asm b/unittests/ASM/VEX/vgather_qps_128bit_4xdisp_overflow.asm index 06e36b3bb..cecb24729 100644 --- a/unittests/ASM/VEX/vgather_qps_128bit_4xdisp_overflow.asm +++ b/unittests/ASM/VEX/vgather_qps_128bit_4xdisp_overflow.asm @@ -50,7 +50,7 @@ vgatherqps xmm15, [xmm0 * 4 + rax + 4], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/ASM/VEX/vgather_qps_128bit_8xdisp.asm b/unittests/ASM/VEX/vgather_qps_128bit_8xdisp.asm index 56f1c1ab5..80fb4642a 100644 --- a/unittests/ASM/VEX/vgather_qps_128bit_8xdisp.asm +++ b/unittests/ASM/VEX/vgather_qps_128bit_8xdisp.asm @@ -100,7 +100,7 @@ vgatherqps xmm3, [xmm0 * 8 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vgather_qps_128bit_8xdisp_overflow.asm b/unittests/ASM/VEX/vgather_qps_128bit_8xdisp_overflow.asm index a17bc773e..2fdbb889a 100644 --- a/unittests/ASM/VEX/vgather_qps_128bit_8xdisp_overflow.asm +++ b/unittests/ASM/VEX/vgather_qps_128bit_8xdisp_overflow.asm @@ -50,7 +50,7 @@ vgatherqps xmm15, [xmm0 * 8 + rax + 8], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/ASM/VEX/vgather_qps_256bit_1xdisp.asm b/unittests/ASM/VEX/vgather_qps_256bit_1xdisp.asm index 5c28372f3..212d33895 100644 --- a/unittests/ASM/VEX/vgather_qps_256bit_1xdisp.asm +++ b/unittests/ASM/VEX/vgather_qps_256bit_1xdisp.asm @@ -100,7 +100,7 @@ vgatherqps xmm3, [ymm0 * 1 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vgather_qps_256bit_1xdisp_overflow.asm b/unittests/ASM/VEX/vgather_qps_256bit_1xdisp_overflow.asm index bed42324f..133d982d8 100644 --- a/unittests/ASM/VEX/vgather_qps_256bit_1xdisp_overflow.asm +++ b/unittests/ASM/VEX/vgather_qps_256bit_1xdisp_overflow.asm @@ -46,7 +46,7 @@ vgatherqps xmm15, [ymm0 * 1 + rax + 1], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/ASM/VEX/vgather_qps_256bit_2xdisp.asm b/unittests/ASM/VEX/vgather_qps_256bit_2xdisp.asm index 5618673ba..794dac1f9 100644 --- a/unittests/ASM/VEX/vgather_qps_256bit_2xdisp.asm +++ b/unittests/ASM/VEX/vgather_qps_256bit_2xdisp.asm @@ -100,7 +100,7 @@ vgatherqps xmm3, [ymm0 * 2 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vgather_qps_256bit_2xdisp_overflow.asm b/unittests/ASM/VEX/vgather_qps_256bit_2xdisp_overflow.asm index 7ca66cf90..d6a23f5bd 100644 --- a/unittests/ASM/VEX/vgather_qps_256bit_2xdisp_overflow.asm +++ b/unittests/ASM/VEX/vgather_qps_256bit_2xdisp_overflow.asm @@ -50,7 +50,7 @@ vgatherqps xmm15, [ymm0 * 2 + rax + 2], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/ASM/VEX/vgather_qps_256bit_4xdisp.asm b/unittests/ASM/VEX/vgather_qps_256bit_4xdisp.asm index 995f1fbb3..e24187377 100644 --- a/unittests/ASM/VEX/vgather_qps_256bit_4xdisp.asm +++ b/unittests/ASM/VEX/vgather_qps_256bit_4xdisp.asm @@ -100,7 +100,7 @@ vgatherqps xmm3, [ymm0 * 4 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vgather_qps_256bit_4xdisp_overflow.asm b/unittests/ASM/VEX/vgather_qps_256bit_4xdisp_overflow.asm index 24ac6fb5d..c04722c77 100644 --- a/unittests/ASM/VEX/vgather_qps_256bit_4xdisp_overflow.asm +++ b/unittests/ASM/VEX/vgather_qps_256bit_4xdisp_overflow.asm @@ -50,7 +50,7 @@ vgatherqps xmm15, [ymm0 * 4 + rax + 4], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/ASM/VEX/vgather_qps_256bit_8xdisp.asm b/unittests/ASM/VEX/vgather_qps_256bit_8xdisp.asm index a8ee9572c..78ccd619c 100644 --- a/unittests/ASM/VEX/vgather_qps_256bit_8xdisp.asm +++ b/unittests/ASM/VEX/vgather_qps_256bit_8xdisp.asm @@ -100,7 +100,7 @@ vgatherqps xmm3, [ymm0 * 8 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vgather_qps_256bit_8xdisp_overflow.asm b/unittests/ASM/VEX/vgather_qps_256bit_8xdisp_overflow.asm index cef69844b..c8a8ce105 100644 --- a/unittests/ASM/VEX/vgather_qps_256bit_8xdisp_overflow.asm +++ b/unittests/ASM/VEX/vgather_qps_256bit_8xdisp_overflow.asm @@ -50,7 +50,7 @@ vgatherqps xmm15, [ymm0 * 8 + rax + 8], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/ASM/VEX/vmaskmovdqu.asm b/unittests/ASM/VEX/vmaskmovdqu.asm index 706477619..265e5b1bb 100644 --- a/unittests/ASM/VEX/vmaskmovdqu.asm +++ b/unittests/ASM/VEX/vmaskmovdqu.asm @@ -39,7 +39,7 @@ mov rdi, qword [rdx + 8 * 13] hlt -align 32 +align 4096 .data: dq 0x4142434445464748 dq 0x5152535455565758 diff --git a/unittests/ASM/VEX/vmaskmovpd_load.asm b/unittests/ASM/VEX/vmaskmovpd_load.asm index 8df2d37c8..170ca7512 100644 --- a/unittests/ASM/VEX/vmaskmovpd_load.asm +++ b/unittests/ASM/VEX/vmaskmovpd_load.asm @@ -32,7 +32,7 @@ vmaskmovpd xmm8, xmm2, [rdx] hlt -align 32 +align 4096 .data: dq 0xA76C4F06A12BFCE0 dq 0x9B80767F1E6A060F diff --git a/unittests/ASM/VEX/vmaskmovpd_store.asm b/unittests/ASM/VEX/vmaskmovpd_store.asm index 5c03c9c1e..8099d75b1 100644 --- a/unittests/ASM/VEX/vmaskmovpd_store.asm +++ b/unittests/ASM/VEX/vmaskmovpd_store.asm @@ -42,7 +42,7 @@ vmovaps ymm9, [rel .scratch6] hlt -align 32 +align 4096 .data: dq 0xA76C4F06A12BFCE0 dq 0x9B80767F1E6A060F diff --git a/unittests/ASM/VEX/vmaskmovps_load.asm b/unittests/ASM/VEX/vmaskmovps_load.asm index 0e252a24d..6ba4a1ff4 100644 --- a/unittests/ASM/VEX/vmaskmovps_load.asm +++ b/unittests/ASM/VEX/vmaskmovps_load.asm @@ -32,7 +32,7 @@ vmaskmovps xmm8, xmm2, [rdx] hlt -align 32 +align 4096 .data: dq 0xA76C4F06A12BFCE0 dq 0x9B80767F1E6A060F diff --git a/unittests/ASM/VEX/vmaskmovps_store.asm b/unittests/ASM/VEX/vmaskmovps_store.asm index e6fb580d1..9357ec4ca 100644 --- a/unittests/ASM/VEX/vmaskmovps_store.asm +++ b/unittests/ASM/VEX/vmaskmovps_store.asm @@ -42,7 +42,7 @@ vmovaps ymm9, [rel .scratch6] hlt -align 32 +align 4096 .data: dq 0xA76C4F06A12BFCE0 dq 0x9B80767F1E6A060F diff --git a/unittests/ASM/VEX/vmovdqa.asm b/unittests/ASM/VEX/vmovdqa.asm index 38b352867..a6fda8cf1 100644 --- a/unittests/ASM/VEX/vmovdqa.asm +++ b/unittests/ASM/VEX/vmovdqa.asm @@ -37,7 +37,7 @@ vmovapd ymm6, [rdx] hlt -align 32 +align 4096 .data: db 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF db 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF diff --git a/unittests/ASM/VEX/vmovdqu.asm b/unittests/ASM/VEX/vmovdqu.asm index 7f6962888..1c7b11af3 100644 --- a/unittests/ASM/VEX/vmovdqu.asm +++ b/unittests/ASM/VEX/vmovdqu.asm @@ -37,7 +37,7 @@ vmovapd ymm6, [rdx] hlt -align 32 +align 4096 .data: db 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF db 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF diff --git a/unittests/ASM/VEX/vmovhpd.asm b/unittests/ASM/VEX/vmovhpd.asm index a8dff7b6b..bf33fc7a3 100644 --- a/unittests/ASM/VEX/vmovhpd.asm +++ b/unittests/ASM/VEX/vmovhpd.asm @@ -28,7 +28,7 @@ vmovapd ymm4, [rdx] hlt -align 32 +align 4096 .data: db 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF db 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF diff --git a/unittests/ASM/VEX/vmovhps.asm b/unittests/ASM/VEX/vmovhps.asm index d1d1d8300..ba2ca7b17 100644 --- a/unittests/ASM/VEX/vmovhps.asm +++ b/unittests/ASM/VEX/vmovhps.asm @@ -28,7 +28,7 @@ vmovapd ymm4, [rdx] hlt -align 32 +align 4096 .data: db 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF db 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF diff --git a/unittests/ASM/VEX/vmovlpd.asm b/unittests/ASM/VEX/vmovlpd.asm index 4e3316a6c..d22d547c4 100644 --- a/unittests/ASM/VEX/vmovlpd.asm +++ b/unittests/ASM/VEX/vmovlpd.asm @@ -28,7 +28,7 @@ vmovapd ymm4, [rdx] hlt -align 32 +align 4096 .data: db 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF db 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF diff --git a/unittests/ASM/VEX/vmovlps.asm b/unittests/ASM/VEX/vmovlps.asm index 53b185561..0f63e3a1e 100644 --- a/unittests/ASM/VEX/vmovlps.asm +++ b/unittests/ASM/VEX/vmovlps.asm @@ -28,7 +28,7 @@ vmovapd ymm4, [rdx] hlt -align 32 +align 4096 .data: db 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF db 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF diff --git a/unittests/ASM/VEX/vmovntpd.asm b/unittests/ASM/VEX/vmovntpd.asm index 5b2de714d..e47bede74 100644 --- a/unittests/ASM/VEX/vmovntpd.asm +++ b/unittests/ASM/VEX/vmovntpd.asm @@ -59,7 +59,7 @@ vmovaps xmm7, [rel .data_res4] hlt -align 32 +align 4096 .data_random: dd 83.0999,69.50512,41.02678,13.05881,5.35242,21.9932,9.67383,5.32372,29.02872,66.50151,19.30764,91.3633,40.45086,50.96153,32.64489,23.97574,90.64316,24.22547,98.9394,91.21715,90.80143,99.48407,64.97245,74.39838,35.22761,25.35321,5.8732,90.19956,33.03133,52.02952,58.38554,10.17531,47.84703,84.04831,90.02965,65.81329,96.27991,6.64479,25.58971,95.00694,88.1929,37.16964,49.52602,10.27223,77.70605,20.21439,9.8056,41.29389,15.4071,57.54286,9.61117,55.54302,52.90745,4.88086,72.52882,3.0201,56.55091,71.22749,61.84736,88.74295,47.72641,24.17404,33.70564,96.71303 diff --git a/unittests/ASM/VEX/vmovsd_to_mem.asm b/unittests/ASM/VEX/vmovsd_to_mem.asm index 489f1e57b..d760e21b1 100644 --- a/unittests/ASM/VEX/vmovsd_to_mem.asm +++ b/unittests/ASM/VEX/vmovsd_to_mem.asm @@ -19,9 +19,9 @@ vmovapd xmm0, [rdx + 16] hlt -align 32 +align 4096 .data: dq 0x4142434445464748 dq 0x5152535455565758 dq 0x0000000000000000 -dq 0x0000000000000000 \ No newline at end of file +dq 0x0000000000000000 diff --git a/unittests/ASM/VEX/vpcmpeqb.asm b/unittests/ASM/VEX/vpcmpeqb.asm index f07a49199..427aaffc0 100644 --- a/unittests/ASM/VEX/vpcmpeqb.asm +++ b/unittests/ASM/VEX/vpcmpeqb.asm @@ -27,7 +27,7 @@ vpcmpeqb xmm5, xmm0, [rdx + 32 * 1] hlt -align 32 +align 4096 .data: dq 0x7172737475767778 dq 0x4142434445464748 diff --git a/unittests/ASM/VEX/vpcmpeqd.asm b/unittests/ASM/VEX/vpcmpeqd.asm index b595bbd97..37f1e3bbf 100644 --- a/unittests/ASM/VEX/vpcmpeqd.asm +++ b/unittests/ASM/VEX/vpcmpeqd.asm @@ -27,7 +27,7 @@ vpcmpeqd xmm5, xmm0, [rdx + 32 * 1] hlt -align 32 +align 4096 .data: dq 0x71727374FFFFFFFF dq 0x41424344FFFFFFFF diff --git a/unittests/ASM/VEX/vpcmpeqq.asm b/unittests/ASM/VEX/vpcmpeqq.asm index 7780c1581..8a7362da5 100644 --- a/unittests/ASM/VEX/vpcmpeqq.asm +++ b/unittests/ASM/VEX/vpcmpeqq.asm @@ -27,7 +27,7 @@ vpcmpeqq xmm5, xmm0, [rdx + 32 * 1] hlt -align 32 +align 4096 .data: dq 0xFFFFFFFFFFFFFFFF dq 0x41424344FFFFFFFF diff --git a/unittests/ASM/VEX/vpcmpeqw.asm b/unittests/ASM/VEX/vpcmpeqw.asm index f00ea48d9..5258bfb86 100644 --- a/unittests/ASM/VEX/vpcmpeqw.asm +++ b/unittests/ASM/VEX/vpcmpeqw.asm @@ -27,7 +27,7 @@ vpcmpeqw xmm5, xmm0, [rdx + 32 * 1] hlt -align 32 +align 4096 .data: dq 0x7172737475767778 dq 0x4142434445464748 diff --git a/unittests/ASM/VEX/vpcmpestri_equal_any.asm b/unittests/ASM/VEX/vpcmpestri_equal_any.asm index 33d756cad..753343afc 100644 --- a/unittests/ASM/VEX/vpcmpestri_equal_any.asm +++ b/unittests/ASM/VEX/vpcmpestri_equal_any.asm @@ -118,7 +118,7 @@ vmovaps ymm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x6463626144434241 ; "ABCDabcd" dq 0x6C6B6A694C4B4A49 ; "IJKLijkl" diff --git a/unittests/ASM/VEX/vpcmpestri_equal_each.asm b/unittests/ASM/VEX/vpcmpestri_equal_each.asm index acb8de892..564ee0230 100644 --- a/unittests/ASM/VEX/vpcmpestri_equal_each.asm +++ b/unittests/ASM/VEX/vpcmpestri_equal_each.asm @@ -164,7 +164,7 @@ vmovaps ymm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x6550206F6C6C6548 ; "Hello Pe" dq 0x21212121656C706F ; "ople!!!!" diff --git a/unittests/ASM/VEX/vpcmpestri_equal_ordered.asm b/unittests/ASM/VEX/vpcmpestri_equal_ordered.asm index 9b377b6fa..03a7b8994 100644 --- a/unittests/ASM/VEX/vpcmpestri_equal_ordered.asm +++ b/unittests/ASM/VEX/vpcmpestri_equal_ordered.asm @@ -121,7 +121,7 @@ vmovaps ymm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x6550206F6FFF6C6C ; "ll" with junk following it dq 0x21212121656C706F diff --git a/unittests/ASM/VEX/vpcmpestri_ranges.asm b/unittests/ASM/VEX/vpcmpestri_ranges.asm index 8bf67507f..4b8dcb6de 100644 --- a/unittests/ASM/VEX/vpcmpestri_ranges.asm +++ b/unittests/ASM/VEX/vpcmpestri_ranges.asm @@ -119,7 +119,7 @@ vmovaps ymm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x998877665A417A61 ; "azAZ" (followed by junk) dq 0x55AACCBBFF223344 diff --git a/unittests/ASM/VEX/vpcmpestrm_equal_any.asm b/unittests/ASM/VEX/vpcmpestrm_equal_any.asm index 4c4ae3564..25df411a0 100644 --- a/unittests/ASM/VEX/vpcmpestrm_equal_any.asm +++ b/unittests/ASM/VEX/vpcmpestrm_equal_any.asm @@ -127,7 +127,7 @@ vmovaps ymm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x6463626144434241 ; "ABCDabcd" dq 0x6C6B6A694C4B4A49 ; "IJKLijkl" diff --git a/unittests/ASM/VEX/vpcmpestrm_equal_each.asm b/unittests/ASM/VEX/vpcmpestrm_equal_each.asm index e63d068de..f18e65e43 100644 --- a/unittests/ASM/VEX/vpcmpestrm_equal_each.asm +++ b/unittests/ASM/VEX/vpcmpestrm_equal_each.asm @@ -134,7 +134,7 @@ vmovaps ymm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x6550206F6C6C6548 ; "Hello Pe" dq 0x21212121656C706F ; "ople!!!!" diff --git a/unittests/ASM/VEX/vpcmpestrm_equal_ordered.asm b/unittests/ASM/VEX/vpcmpestrm_equal_ordered.asm index 6a389dd33..038e97c59 100644 --- a/unittests/ASM/VEX/vpcmpestrm_equal_ordered.asm +++ b/unittests/ASM/VEX/vpcmpestrm_equal_ordered.asm @@ -131,7 +131,7 @@ vmovaps ymm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x6550206F6FFF6C6C ; "ll" with junk following it dq 0x21212121656C706F diff --git a/unittests/ASM/VEX/vpcmpestrm_ranges.asm b/unittests/ASM/VEX/vpcmpestrm_ranges.asm index 799a1fa46..34e6c2e85 100644 --- a/unittests/ASM/VEX/vpcmpestrm_ranges.asm +++ b/unittests/ASM/VEX/vpcmpestrm_ranges.asm @@ -128,7 +128,7 @@ vmovaps ymm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x998877665A417A61 ; "azAZ" (followed by junk) dq 0x55AACCBBFF223344 diff --git a/unittests/ASM/VEX/vpcmpgtb.asm b/unittests/ASM/VEX/vpcmpgtb.asm index d83be58c7..94e06dbed 100644 --- a/unittests/ASM/VEX/vpcmpgtb.asm +++ b/unittests/ASM/VEX/vpcmpgtb.asm @@ -27,7 +27,7 @@ vpcmpgtb xmm5, xmm0, [rdx + 32 * 1] hlt -align 32 +align 4096 .data: dq 0x7172737475767778 dq 0x4142434445464748 @@ -37,4 +37,4 @@ dq 0x4142434445464748 dq 0x6162636465666768 dq 0x5152535455565758 dq 0x6162636465666768 -dq 0x5152535455565758 \ No newline at end of file +dq 0x5152535455565758 diff --git a/unittests/ASM/VEX/vpcmpgtd.asm b/unittests/ASM/VEX/vpcmpgtd.asm index 6cf1e6fd2..8559c6f9c 100644 --- a/unittests/ASM/VEX/vpcmpgtd.asm +++ b/unittests/ASM/VEX/vpcmpgtd.asm @@ -27,7 +27,7 @@ vpcmpgtd xmm5, xmm0, [rdx + 32 * 1] hlt -align 32 +align 4096 .data: dq 0x7172737475767778 dq 0x4142434445464748 diff --git a/unittests/ASM/VEX/vpcmpgtq.asm b/unittests/ASM/VEX/vpcmpgtq.asm index caf825ef0..40feb2c58 100644 --- a/unittests/ASM/VEX/vpcmpgtq.asm +++ b/unittests/ASM/VEX/vpcmpgtq.asm @@ -43,7 +43,7 @@ vpcmpgtq xmm14, xmm4, [rel .data0] hlt -align 32 +align 4096 .data0: dq 0 dq 0 diff --git a/unittests/ASM/VEX/vpcmpgtw.asm b/unittests/ASM/VEX/vpcmpgtw.asm index 26872e342..c5ba469c8 100644 --- a/unittests/ASM/VEX/vpcmpgtw.asm +++ b/unittests/ASM/VEX/vpcmpgtw.asm @@ -27,7 +27,7 @@ vpcmpgtw xmm5, xmm0, [rdx + 32 * 1] hlt -align 32 +align 4096 .data: dq 0x7172737475767778 dq 0x4142434445464748 diff --git a/unittests/ASM/VEX/vpcmpistri_equal_any.asm b/unittests/ASM/VEX/vpcmpistri_equal_any.asm index 07172884e..e85710292 100644 --- a/unittests/ASM/VEX/vpcmpistri_equal_any.asm +++ b/unittests/ASM/VEX/vpcmpistri_equal_any.asm @@ -111,7 +111,7 @@ vmovaps ymm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x6463626144434241 ; "ABCDabcd" dq 0x6C6B6A694C4B4A00 ; "\0JKLijkl" diff --git a/unittests/ASM/VEX/vpcmpistri_equal_each.asm b/unittests/ASM/VEX/vpcmpistri_equal_each.asm index 4df373192..5348b3afa 100644 --- a/unittests/ASM/VEX/vpcmpistri_equal_each.asm +++ b/unittests/ASM/VEX/vpcmpistri_equal_each.asm @@ -115,7 +115,7 @@ vmovaps ymm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x6550206F6C6C6548 ; "Hello Pe" dq 0x00002121656C706F ; "ople!!\0\0" diff --git a/unittests/ASM/VEX/vpcmpistri_equal_ordered.asm b/unittests/ASM/VEX/vpcmpistri_equal_ordered.asm index 8d12c65f2..754d3cb2e 100644 --- a/unittests/ASM/VEX/vpcmpistri_equal_ordered.asm +++ b/unittests/ASM/VEX/vpcmpistri_equal_ordered.asm @@ -113,7 +113,7 @@ vmovaps ymm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x6550206F6F006C6C ; "ll" with junk following it dq 0x21212121656C706F diff --git a/unittests/ASM/VEX/vpcmpistri_ranges.asm b/unittests/ASM/VEX/vpcmpistri_ranges.asm index 56b9c7099..1d37b1d8a 100644 --- a/unittests/ASM/VEX/vpcmpistri_ranges.asm +++ b/unittests/ASM/VEX/vpcmpistri_ranges.asm @@ -111,7 +111,7 @@ vmovaps ymm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x998877005A417A61 ; "azAZ" (followed by junk) dq 0x55AACCBBFF223344 diff --git a/unittests/ASM/VEX/vpcmpistrm_equal_any.asm b/unittests/ASM/VEX/vpcmpistrm_equal_any.asm index 5f4674828..6232e20b4 100644 --- a/unittests/ASM/VEX/vpcmpistrm_equal_any.asm +++ b/unittests/ASM/VEX/vpcmpistrm_equal_any.asm @@ -121,7 +121,7 @@ vmovaps ymm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x6463626144434241 ; "ABCDabcd" dq 0x6C6B6A694C4B4A00 ; "\0JKLijkl" diff --git a/unittests/ASM/VEX/vpcmpistrm_equal_each.asm b/unittests/ASM/VEX/vpcmpistrm_equal_each.asm index 7058ea822..245f97e49 100644 --- a/unittests/ASM/VEX/vpcmpistrm_equal_each.asm +++ b/unittests/ASM/VEX/vpcmpistrm_equal_each.asm @@ -126,7 +126,7 @@ vmovaps ymm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x6550206F6C6C6548 ; "Hello Pe" dq 0x00002121656C706F ; "ople!!\0\0" diff --git a/unittests/ASM/VEX/vpcmpistrm_equal_ordered.asm b/unittests/ASM/VEX/vpcmpistrm_equal_ordered.asm index fd1a5bb08..dbe59e369 100644 --- a/unittests/ASM/VEX/vpcmpistrm_equal_ordered.asm +++ b/unittests/ASM/VEX/vpcmpistrm_equal_ordered.asm @@ -124,7 +124,7 @@ vmovaps ymm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x6550206F6F006C6C ; "ll" with junk following it dq 0x21212121656C706F diff --git a/unittests/ASM/VEX/vpcmpistrm_ranges.asm b/unittests/ASM/VEX/vpcmpistrm_ranges.asm index 47650064b..4eb18bfeb 100644 --- a/unittests/ASM/VEX/vpcmpistrm_ranges.asm +++ b/unittests/ASM/VEX/vpcmpistrm_ranges.asm @@ -121,7 +121,7 @@ vmovaps ymm1, [rel .flags] hlt -align 32 +align 4096 .data: dq 0x998877005A417A61 ; "azAZ" (followed by junk) dq 0x55AACCBBFF223344 diff --git a/unittests/ASM/VEX/vpgather_dd_128bit_1xdisp.asm b/unittests/ASM/VEX/vpgather_dd_128bit_1xdisp.asm index 24d164a96..103be2ac0 100644 --- a/unittests/ASM/VEX/vpgather_dd_128bit_1xdisp.asm +++ b/unittests/ASM/VEX/vpgather_dd_128bit_1xdisp.asm @@ -100,7 +100,7 @@ vpgatherdd xmm3, [xmm0 * 1 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vpgather_dd_128bit_2xdisp.asm b/unittests/ASM/VEX/vpgather_dd_128bit_2xdisp.asm index 72bf6a326..5fe184edd 100644 --- a/unittests/ASM/VEX/vpgather_dd_128bit_2xdisp.asm +++ b/unittests/ASM/VEX/vpgather_dd_128bit_2xdisp.asm @@ -100,7 +100,7 @@ vpgatherdd xmm3, [xmm0 * 2 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vpgather_dd_128bit_4xdisp.asm b/unittests/ASM/VEX/vpgather_dd_128bit_4xdisp.asm index d714dc4c8..b9dff6e60 100644 --- a/unittests/ASM/VEX/vpgather_dd_128bit_4xdisp.asm +++ b/unittests/ASM/VEX/vpgather_dd_128bit_4xdisp.asm @@ -100,7 +100,7 @@ vpgatherdd xmm3, [xmm0 * 4 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vpgather_dd_128bit_8xdisp.asm b/unittests/ASM/VEX/vpgather_dd_128bit_8xdisp.asm index 2fb81e2a0..0aace9f8b 100644 --- a/unittests/ASM/VEX/vpgather_dd_128bit_8xdisp.asm +++ b/unittests/ASM/VEX/vpgather_dd_128bit_8xdisp.asm @@ -100,7 +100,7 @@ vpgatherdd xmm3, [xmm0 * 8 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vpgather_dd_256bit_1xdisp.asm b/unittests/ASM/VEX/vpgather_dd_256bit_1xdisp.asm index 75204e748..c46d648e1 100644 --- a/unittests/ASM/VEX/vpgather_dd_256bit_1xdisp.asm +++ b/unittests/ASM/VEX/vpgather_dd_256bit_1xdisp.asm @@ -100,7 +100,7 @@ vpgatherdd ymm3, [ymm0 * 1 + rax], ymm1 ; xmm1 will be zero after this. hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vpgather_dd_256bit_2xdisp.asm b/unittests/ASM/VEX/vpgather_dd_256bit_2xdisp.asm index 268e372e6..7327c5e41 100644 --- a/unittests/ASM/VEX/vpgather_dd_256bit_2xdisp.asm +++ b/unittests/ASM/VEX/vpgather_dd_256bit_2xdisp.asm @@ -100,7 +100,7 @@ vpgatherdd ymm3, [ymm0 * 2 + rax], ymm1 ; xmm1 will be zero after this. hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vpgather_dd_256bit_4xdisp.asm b/unittests/ASM/VEX/vpgather_dd_256bit_4xdisp.asm index aa6a54a4e..324ec6f51 100644 --- a/unittests/ASM/VEX/vpgather_dd_256bit_4xdisp.asm +++ b/unittests/ASM/VEX/vpgather_dd_256bit_4xdisp.asm @@ -100,7 +100,7 @@ vpgatherdd ymm3, [ymm0 * 4 + rax], ymm1 ; xmm1 will be zero after this. hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vpgather_dd_256bit_8xdisp.asm b/unittests/ASM/VEX/vpgather_dd_256bit_8xdisp.asm index c822ebf7d..06e088962 100644 --- a/unittests/ASM/VEX/vpgather_dd_256bit_8xdisp.asm +++ b/unittests/ASM/VEX/vpgather_dd_256bit_8xdisp.asm @@ -99,7 +99,7 @@ vpgatherdd ymm3, [ymm0 * 8 + rax], ymm1 ; xmm1 will be zero after this. hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vpgather_dq_128bit_1xdisp.asm b/unittests/ASM/VEX/vpgather_dq_128bit_1xdisp.asm index 005ba6b58..9f96707e8 100644 --- a/unittests/ASM/VEX/vpgather_dq_128bit_1xdisp.asm +++ b/unittests/ASM/VEX/vpgather_dq_128bit_1xdisp.asm @@ -100,7 +100,7 @@ vpgatherdq xmm3, [xmm0 * 1 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vpgather_dq_128bit_2xdisp.asm b/unittests/ASM/VEX/vpgather_dq_128bit_2xdisp.asm index 6d1011e28..09e4d71e7 100644 --- a/unittests/ASM/VEX/vpgather_dq_128bit_2xdisp.asm +++ b/unittests/ASM/VEX/vpgather_dq_128bit_2xdisp.asm @@ -100,7 +100,7 @@ vpgatherdq xmm3, [xmm0 * 2 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vpgather_dq_128bit_4xdisp.asm b/unittests/ASM/VEX/vpgather_dq_128bit_4xdisp.asm index b07c3822e..e9f4c2cb5 100644 --- a/unittests/ASM/VEX/vpgather_dq_128bit_4xdisp.asm +++ b/unittests/ASM/VEX/vpgather_dq_128bit_4xdisp.asm @@ -100,7 +100,7 @@ vpgatherdq xmm3, [xmm0 * 4 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vpgather_dq_128bit_8xdisp.asm b/unittests/ASM/VEX/vpgather_dq_128bit_8xdisp.asm index 915f055b4..03edfe172 100644 --- a/unittests/ASM/VEX/vpgather_dq_128bit_8xdisp.asm +++ b/unittests/ASM/VEX/vpgather_dq_128bit_8xdisp.asm @@ -100,7 +100,7 @@ vpgatherdq xmm3, [xmm0 * 8 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vpgather_dq_256bit_1xdisp.asm b/unittests/ASM/VEX/vpgather_dq_256bit_1xdisp.asm index 5859e2882..449e1eb5d 100644 --- a/unittests/ASM/VEX/vpgather_dq_256bit_1xdisp.asm +++ b/unittests/ASM/VEX/vpgather_dq_256bit_1xdisp.asm @@ -100,7 +100,7 @@ vpgatherdq ymm3, [xmm0 * 1 + rax], ymm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vpgather_dq_256bit_2xdisp.asm b/unittests/ASM/VEX/vpgather_dq_256bit_2xdisp.asm index 762a89269..1c22faf16 100644 --- a/unittests/ASM/VEX/vpgather_dq_256bit_2xdisp.asm +++ b/unittests/ASM/VEX/vpgather_dq_256bit_2xdisp.asm @@ -100,7 +100,7 @@ vpgatherdq ymm3, [xmm0 * 2 + rax], ymm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vpgather_dq_256bit_4xdisp.asm b/unittests/ASM/VEX/vpgather_dq_256bit_4xdisp.asm index 64620c876..f98f6fc6b 100644 --- a/unittests/ASM/VEX/vpgather_dq_256bit_4xdisp.asm +++ b/unittests/ASM/VEX/vpgather_dq_256bit_4xdisp.asm @@ -100,7 +100,7 @@ vpgatherdq ymm3, [xmm0 * 4 + rax], ymm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vpgather_dq_256bit_8xdisp.asm b/unittests/ASM/VEX/vpgather_dq_256bit_8xdisp.asm index a0e03814f..cc26a7291 100644 --- a/unittests/ASM/VEX/vpgather_dq_256bit_8xdisp.asm +++ b/unittests/ASM/VEX/vpgather_dq_256bit_8xdisp.asm @@ -100,7 +100,7 @@ vpgatherdq ymm3, [xmm0 * 8 + rax], ymm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vpgather_qd_128bit_1xdisp.asm b/unittests/ASM/VEX/vpgather_qd_128bit_1xdisp.asm index 04f126fc4..9fd102b57 100644 --- a/unittests/ASM/VEX/vpgather_qd_128bit_1xdisp.asm +++ b/unittests/ASM/VEX/vpgather_qd_128bit_1xdisp.asm @@ -100,7 +100,7 @@ vpgatherqd xmm3, [xmm0 * 1 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vpgather_qd_128bit_1xdisp_overflow.asm b/unittests/ASM/VEX/vpgather_qd_128bit_1xdisp_overflow.asm index 924fbad29..ef49fed31 100644 --- a/unittests/ASM/VEX/vpgather_qd_128bit_1xdisp_overflow.asm +++ b/unittests/ASM/VEX/vpgather_qd_128bit_1xdisp_overflow.asm @@ -46,7 +46,7 @@ vpgatherqd xmm15, [xmm0 * 1 + rax + 1], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/ASM/VEX/vpgather_qd_128bit_2xdisp.asm b/unittests/ASM/VEX/vpgather_qd_128bit_2xdisp.asm index 799280153..e92b87675 100644 --- a/unittests/ASM/VEX/vpgather_qd_128bit_2xdisp.asm +++ b/unittests/ASM/VEX/vpgather_qd_128bit_2xdisp.asm @@ -100,7 +100,7 @@ vpgatherqd xmm3, [xmm0 * 2 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vpgather_qd_128bit_2xdisp_overflow.asm b/unittests/ASM/VEX/vpgather_qd_128bit_2xdisp_overflow.asm index ed7c74aca..7723ae44c 100644 --- a/unittests/ASM/VEX/vpgather_qd_128bit_2xdisp_overflow.asm +++ b/unittests/ASM/VEX/vpgather_qd_128bit_2xdisp_overflow.asm @@ -50,7 +50,7 @@ vpgatherqd xmm15, [xmm0 * 2 + rax + 2], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/ASM/VEX/vpgather_qd_128bit_4xdisp.asm b/unittests/ASM/VEX/vpgather_qd_128bit_4xdisp.asm index 68abecb39..2e693da7b 100644 --- a/unittests/ASM/VEX/vpgather_qd_128bit_4xdisp.asm +++ b/unittests/ASM/VEX/vpgather_qd_128bit_4xdisp.asm @@ -100,7 +100,7 @@ vpgatherqd xmm3, [xmm0 * 4 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vpgather_qd_128bit_4xdisp_overflow.asm b/unittests/ASM/VEX/vpgather_qd_128bit_4xdisp_overflow.asm index ead1c1112..68291c32a 100644 --- a/unittests/ASM/VEX/vpgather_qd_128bit_4xdisp_overflow.asm +++ b/unittests/ASM/VEX/vpgather_qd_128bit_4xdisp_overflow.asm @@ -50,7 +50,7 @@ vpgatherqd xmm15, [xmm0 * 4 + rax + 4], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/ASM/VEX/vpgather_qd_128bit_8xdisp.asm b/unittests/ASM/VEX/vpgather_qd_128bit_8xdisp.asm index a420b53e4..46e2a5ca7 100644 --- a/unittests/ASM/VEX/vpgather_qd_128bit_8xdisp.asm +++ b/unittests/ASM/VEX/vpgather_qd_128bit_8xdisp.asm @@ -100,7 +100,7 @@ vpgatherqd xmm3, [xmm0 * 8 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vpgather_qd_128bit_8xdisp_overflow.asm b/unittests/ASM/VEX/vpgather_qd_128bit_8xdisp_overflow.asm index 5b232c17d..49a8ba21b 100644 --- a/unittests/ASM/VEX/vpgather_qd_128bit_8xdisp_overflow.asm +++ b/unittests/ASM/VEX/vpgather_qd_128bit_8xdisp_overflow.asm @@ -50,7 +50,7 @@ vpgatherqd xmm15, [xmm0 * 8 + rax + 8], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/ASM/VEX/vpgather_qd_256bit_1xdisp.asm b/unittests/ASM/VEX/vpgather_qd_256bit_1xdisp.asm index 184060acd..b3940023b 100644 --- a/unittests/ASM/VEX/vpgather_qd_256bit_1xdisp.asm +++ b/unittests/ASM/VEX/vpgather_qd_256bit_1xdisp.asm @@ -100,7 +100,7 @@ vpgatherqd xmm3, [ymm0 * 1 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vpgather_qd_256bit_1xdisp_overflow.asm b/unittests/ASM/VEX/vpgather_qd_256bit_1xdisp_overflow.asm index f03b4253a..732e74de5 100644 --- a/unittests/ASM/VEX/vpgather_qd_256bit_1xdisp_overflow.asm +++ b/unittests/ASM/VEX/vpgather_qd_256bit_1xdisp_overflow.asm @@ -46,7 +46,7 @@ vpgatherqd xmm15, [ymm0 * 1 + rax + 1], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/ASM/VEX/vpgather_qd_256bit_2xdisp.asm b/unittests/ASM/VEX/vpgather_qd_256bit_2xdisp.asm index 09d268735..3cad31212 100644 --- a/unittests/ASM/VEX/vpgather_qd_256bit_2xdisp.asm +++ b/unittests/ASM/VEX/vpgather_qd_256bit_2xdisp.asm @@ -100,7 +100,7 @@ vpgatherqd xmm3, [ymm0 * 2 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vpgather_qd_256bit_2xdisp_overflow.asm b/unittests/ASM/VEX/vpgather_qd_256bit_2xdisp_overflow.asm index 9629b567f..8ed46f8eb 100644 --- a/unittests/ASM/VEX/vpgather_qd_256bit_2xdisp_overflow.asm +++ b/unittests/ASM/VEX/vpgather_qd_256bit_2xdisp_overflow.asm @@ -50,7 +50,7 @@ vpgatherqd xmm15, [ymm0 * 2 + rax + 2], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/ASM/VEX/vpgather_qd_256bit_4xdisp.asm b/unittests/ASM/VEX/vpgather_qd_256bit_4xdisp.asm index 36042c511..c54a6afa0 100644 --- a/unittests/ASM/VEX/vpgather_qd_256bit_4xdisp.asm +++ b/unittests/ASM/VEX/vpgather_qd_256bit_4xdisp.asm @@ -100,7 +100,7 @@ vpgatherqd xmm3, [ymm0 * 4 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vpgather_qd_256bit_4xdisp_overflow.asm b/unittests/ASM/VEX/vpgather_qd_256bit_4xdisp_overflow.asm index fa8ce7958..bc275a619 100644 --- a/unittests/ASM/VEX/vpgather_qd_256bit_4xdisp_overflow.asm +++ b/unittests/ASM/VEX/vpgather_qd_256bit_4xdisp_overflow.asm @@ -50,7 +50,7 @@ vpgatherqd xmm15, [ymm0 * 4 + rax + 4], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/ASM/VEX/vpgather_qd_256bit_8xdisp.asm b/unittests/ASM/VEX/vpgather_qd_256bit_8xdisp.asm index 4e6a620b6..9f99d3fb7 100644 --- a/unittests/ASM/VEX/vpgather_qd_256bit_8xdisp.asm +++ b/unittests/ASM/VEX/vpgather_qd_256bit_8xdisp.asm @@ -100,7 +100,7 @@ vpgatherqd xmm3, [ymm0 * 8 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_00000000: diff --git a/unittests/ASM/VEX/vpgather_qd_256bit_8xdisp_overflow.asm b/unittests/ASM/VEX/vpgather_qd_256bit_8xdisp_overflow.asm index 71a925dc8..8b54dc653 100644 --- a/unittests/ASM/VEX/vpgather_qd_256bit_8xdisp_overflow.asm +++ b/unittests/ASM/VEX/vpgather_qd_256bit_8xdisp_overflow.asm @@ -61,7 +61,7 @@ vpgatherqd xmm15, [ymm0 * 8 + rax + 8], xmm1 hlt -align 32 +align 4096 .mask_11111111: dd 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000, 0x8000_0000 diff --git a/unittests/ASM/VEX/vpgather_qq_128bit_1xdisp.asm b/unittests/ASM/VEX/vpgather_qq_128bit_1xdisp.asm index d8be16cfb..a81a41a9a 100644 --- a/unittests/ASM/VEX/vpgather_qq_128bit_1xdisp.asm +++ b/unittests/ASM/VEX/vpgather_qq_128bit_1xdisp.asm @@ -100,7 +100,7 @@ vpgatherqq xmm3, [xmm0 * 1 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vpgather_qq_128bit_1xdisp_overflow.asm b/unittests/ASM/VEX/vpgather_qq_128bit_1xdisp_overflow.asm index 62ff7b924..804b05d00 100644 --- a/unittests/ASM/VEX/vpgather_qq_128bit_1xdisp_overflow.asm +++ b/unittests/ASM/VEX/vpgather_qq_128bit_1xdisp_overflow.asm @@ -46,7 +46,7 @@ vpgatherqq xmm15, [xmm0 * 1 + rax + 1], xmm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/ASM/VEX/vpgather_qq_128bit_2xdisp.asm b/unittests/ASM/VEX/vpgather_qq_128bit_2xdisp.asm index 62f246ec0..4c8112d45 100644 --- a/unittests/ASM/VEX/vpgather_qq_128bit_2xdisp.asm +++ b/unittests/ASM/VEX/vpgather_qq_128bit_2xdisp.asm @@ -100,7 +100,7 @@ vpgatherqq xmm3, [xmm0 * 2 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vpgather_qq_128bit_2xdisp_overflow.asm b/unittests/ASM/VEX/vpgather_qq_128bit_2xdisp_overflow.asm index ca8d2f9e3..cef023807 100644 --- a/unittests/ASM/VEX/vpgather_qq_128bit_2xdisp_overflow.asm +++ b/unittests/ASM/VEX/vpgather_qq_128bit_2xdisp_overflow.asm @@ -50,7 +50,7 @@ vpgatherqq xmm15, [xmm0 * 2 + rax + 2], xmm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/ASM/VEX/vpgather_qq_128bit_4xdisp.asm b/unittests/ASM/VEX/vpgather_qq_128bit_4xdisp.asm index 9fea1afef..71b727601 100644 --- a/unittests/ASM/VEX/vpgather_qq_128bit_4xdisp.asm +++ b/unittests/ASM/VEX/vpgather_qq_128bit_4xdisp.asm @@ -100,7 +100,7 @@ vpgatherqq xmm3, [xmm0 * 4 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vpgather_qq_128bit_4xdisp_overflow.asm b/unittests/ASM/VEX/vpgather_qq_128bit_4xdisp_overflow.asm index e93af9335..ab41af878 100644 --- a/unittests/ASM/VEX/vpgather_qq_128bit_4xdisp_overflow.asm +++ b/unittests/ASM/VEX/vpgather_qq_128bit_4xdisp_overflow.asm @@ -50,7 +50,7 @@ vpgatherqq xmm15, [xmm0 * 4 + rax + 4], xmm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/ASM/VEX/vpgather_qq_128bit_8xdisp.asm b/unittests/ASM/VEX/vpgather_qq_128bit_8xdisp.asm index 704586316..2f7df7793 100644 --- a/unittests/ASM/VEX/vpgather_qq_128bit_8xdisp.asm +++ b/unittests/ASM/VEX/vpgather_qq_128bit_8xdisp.asm @@ -100,7 +100,7 @@ vpgatherqq xmm3, [xmm0 * 8 + rax], xmm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vpgather_qq_128bit_8xdisp_overflow.asm b/unittests/ASM/VEX/vpgather_qq_128bit_8xdisp_overflow.asm index 91b54ba09..ce8846469 100644 --- a/unittests/ASM/VEX/vpgather_qq_128bit_8xdisp_overflow.asm +++ b/unittests/ASM/VEX/vpgather_qq_128bit_8xdisp_overflow.asm @@ -50,7 +50,7 @@ vpgatherqq xmm15, [xmm0 * 8 + rax + 8], xmm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/ASM/VEX/vpgather_qq_256bit_1xdisp.asm b/unittests/ASM/VEX/vpgather_qq_256bit_1xdisp.asm index 58c0dc710..86b214ed2 100644 --- a/unittests/ASM/VEX/vpgather_qq_256bit_1xdisp.asm +++ b/unittests/ASM/VEX/vpgather_qq_256bit_1xdisp.asm @@ -100,7 +100,7 @@ vpgatherqq ymm3, [ymm0 * 1 + rax], ymm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vpgather_qq_256bit_1xdisp_overflow.asm b/unittests/ASM/VEX/vpgather_qq_256bit_1xdisp_overflow.asm index 735f3e8e2..f6380ece3 100644 --- a/unittests/ASM/VEX/vpgather_qq_256bit_1xdisp_overflow.asm +++ b/unittests/ASM/VEX/vpgather_qq_256bit_1xdisp_overflow.asm @@ -46,7 +46,7 @@ vpgatherqq ymm15, [ymm0 * 1 + rax + 1], ymm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/ASM/VEX/vpgather_qq_256bit_2xdisp.asm b/unittests/ASM/VEX/vpgather_qq_256bit_2xdisp.asm index 6e511699f..5e9f3cc42 100644 --- a/unittests/ASM/VEX/vpgather_qq_256bit_2xdisp.asm +++ b/unittests/ASM/VEX/vpgather_qq_256bit_2xdisp.asm @@ -100,7 +100,7 @@ vpgatherqq ymm3, [ymm0 * 2 + rax], ymm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vpgather_qq_256bit_2xdisp_overflow.asm b/unittests/ASM/VEX/vpgather_qq_256bit_2xdisp_overflow.asm index f1a4fabc6..3f4dff43b 100644 --- a/unittests/ASM/VEX/vpgather_qq_256bit_2xdisp_overflow.asm +++ b/unittests/ASM/VEX/vpgather_qq_256bit_2xdisp_overflow.asm @@ -50,7 +50,7 @@ vpgatherqq ymm15, [ymm0 * 2 + rax + 2], ymm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/ASM/VEX/vpgather_qq_256bit_4xdisp.asm b/unittests/ASM/VEX/vpgather_qq_256bit_4xdisp.asm index 06581437d..0f3d067f4 100644 --- a/unittests/ASM/VEX/vpgather_qq_256bit_4xdisp.asm +++ b/unittests/ASM/VEX/vpgather_qq_256bit_4xdisp.asm @@ -100,7 +100,7 @@ vpgatherqq ymm3, [ymm0 * 4 + rax], ymm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vpgather_qq_256bit_4xdisp_overflow.asm b/unittests/ASM/VEX/vpgather_qq_256bit_4xdisp_overflow.asm index 4ab0a7cad..6325864db 100644 --- a/unittests/ASM/VEX/vpgather_qq_256bit_4xdisp_overflow.asm +++ b/unittests/ASM/VEX/vpgather_qq_256bit_4xdisp_overflow.asm @@ -50,7 +50,7 @@ vpgatherqq ymm15, [ymm0 * 4 + rax + 4], ymm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/ASM/VEX/vpgather_qq_256bit_8xdisp.asm b/unittests/ASM/VEX/vpgather_qq_256bit_8xdisp.asm index c14120ee3..7156fac69 100644 --- a/unittests/ASM/VEX/vpgather_qq_256bit_8xdisp.asm +++ b/unittests/ASM/VEX/vpgather_qq_256bit_8xdisp.asm @@ -100,7 +100,7 @@ vpgatherqq ymm3, [ymm0 * 8 + rax], ymm1 hlt -align 32 +align 4096 ; Masks only care about the sign bit. .mask_0000: diff --git a/unittests/ASM/VEX/vpgather_qq_256bit_8xdisp_overflow.asm b/unittests/ASM/VEX/vpgather_qq_256bit_8xdisp_overflow.asm index 67f8418e0..f4e564893 100644 --- a/unittests/ASM/VEX/vpgather_qq_256bit_8xdisp_overflow.asm +++ b/unittests/ASM/VEX/vpgather_qq_256bit_8xdisp_overflow.asm @@ -50,7 +50,7 @@ vpgatherqq ymm15, [ymm0 * 8 + rax + 8], ymm1 hlt -align 32 +align 4096 .mask_1111: dq 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000, 0x8000_0000_0000_0000 diff --git a/unittests/ASM/VEX/vpmaskmovd_store.asm b/unittests/ASM/VEX/vpmaskmovd_store.asm index 70ba8746b..b4c1a5c0d 100644 --- a/unittests/ASM/VEX/vpmaskmovd_store.asm +++ b/unittests/ASM/VEX/vpmaskmovd_store.asm @@ -42,7 +42,7 @@ vmovaps ymm9, [rel .scratch6] hlt -align 32 +align 4096 .data: dq 0xA76C4F06A12BFCE0 dq 0x9B80767F1E6A060F diff --git a/unittests/ASM/VEX/vpmaskmovq_store.asm b/unittests/ASM/VEX/vpmaskmovq_store.asm index 3ecb9ca88..b212d0de0 100644 --- a/unittests/ASM/VEX/vpmaskmovq_store.asm +++ b/unittests/ASM/VEX/vpmaskmovq_store.asm @@ -42,7 +42,7 @@ vmovaps ymm9, [rel .scratch6] hlt -align 32 +align 4096 .data: dq 0xA76C4F06A12BFCE0 dq 0x9B80767F1E6A060F diff --git a/unittests/ASM/VEX/vrcpps.asm b/unittests/ASM/VEX/vrcpps.asm index 32194cb18..7aa580c20 100644 --- a/unittests/ASM/VEX/vrcpps.asm +++ b/unittests/ASM/VEX/vrcpps.asm @@ -84,11 +84,9 @@ check_relerr rel eresult2, rel result, rel tolerance and r9, rax hlt -section .bss -align 32 -result: resq 4 +align 4096 +result: times 4 dq 0 -section .data align 32 arg1: dq 0x3F8000003F800000 ; 1.0 @@ -111,4 +109,4 @@ dd 0x3e800000 ; 0.25 tolerance: dd 0x39c00000 -define_check_data_constants \ No newline at end of file +define_check_data_constants diff --git a/unittests/ASM/VEX/vrcpss.asm b/unittests/ASM/VEX/vrcpss.asm index 4dfad0d9b..5bcd5b871 100644 --- a/unittests/ASM/VEX/vrcpss.asm +++ b/unittests/ASM/VEX/vrcpss.asm @@ -45,11 +45,9 @@ vpinsrd xmm2, xmm2, eax, 0 vpinsrd xmm3, xmm3, eax, 0 hlt -section .bss -align 32 -result: resq 2 +align 4096 +result: times 2 dq 0 -section .data align 32 arg1: dq 0x3F8000003F800000 ; 1.0 @@ -72,4 +70,4 @@ dd 0x3e800000 ; 0.25 tolerance: dd 0x39c00000 -define_check_data_constants \ No newline at end of file +define_check_data_constants diff --git a/unittests/ASM/VEX/vroundpd.asm b/unittests/ASM/VEX/vroundpd.asm index 1ac746dac..c3d65366c 100644 --- a/unittests/ASM/VEX/vroundpd.asm +++ b/unittests/ASM/VEX/vroundpd.asm @@ -69,7 +69,7 @@ vroundpd ymm15, [rdx], 00000100b hlt -align 32 +align 4096 .data: dq 0.5, -0.5 dq 0.5, -0.5 diff --git a/unittests/ASM/VEX/vroundps.asm b/unittests/ASM/VEX/vroundps.asm index ff9638329..02a1f3d9a 100644 --- a/unittests/ASM/VEX/vroundps.asm +++ b/unittests/ASM/VEX/vroundps.asm @@ -69,7 +69,7 @@ vroundps ymm15, [rdx], 00000100b hlt -align 32 +align 4096 .data: dd 0.5, -0.5, 1.5, -1.5 dd 0.5, -0.5, 1.5, -1.5 diff --git a/unittests/ASM/VEX/vroundsd.asm b/unittests/ASM/VEX/vroundsd.asm index ea9cd1b35..2553c0e22 100644 --- a/unittests/ASM/VEX/vroundsd.asm +++ b/unittests/ASM/VEX/vroundsd.asm @@ -61,7 +61,7 @@ vroundsd xmm7, xmm7, [rdx], 00000100b hlt -align 32 +align 4096 .data: dq 0.5, -0.5 dq 0.5, -0.5 diff --git a/unittests/ASM/VEX/vroundss.asm b/unittests/ASM/VEX/vroundss.asm index e1213cc26..5a3de145f 100644 --- a/unittests/ASM/VEX/vroundss.asm +++ b/unittests/ASM/VEX/vroundss.asm @@ -61,7 +61,7 @@ vroundss xmm7, xmm7, [rdx], 00000100b hlt -align 32 +align 4096 .data: dd 0.5, -0.5, 1.5, -1.5 dd 0.5, -0.5, 1.5, -1.5 diff --git a/unittests/ASM/VEX/vrsqrtps.asm b/unittests/ASM/VEX/vrsqrtps.asm index d22250937..22f5a418e 100644 --- a/unittests/ASM/VEX/vrsqrtps.asm +++ b/unittests/ASM/VEX/vrsqrtps.asm @@ -93,14 +93,12 @@ check_relerr rel eresult4, rel result4, rel tolerance and r9, rax hlt -section .bss -align 32 -result1: resq 4 -result2: resq 4 -result3: resq 4 -result4: resq 4 +align 4096 +result1: times 4 dq 0 +result2: times 4 dq 0 +result3: times 4 dq 0 +result4: times 4 dq 0 -section .data align 32 arg1: dq 0x3F8000003F800000 ; 1.0 @@ -147,4 +145,4 @@ dd 0x3e800000 ; 0.25 tolerance: dd 0x39c00000 -define_check_data_constants \ No newline at end of file +define_check_data_constants diff --git a/unittests/ASM/VEX/vrsqrtss.asm b/unittests/ASM/VEX/vrsqrtss.asm index 0d942f556..af2159e89 100644 --- a/unittests/ASM/VEX/vrsqrtss.asm +++ b/unittests/ASM/VEX/vrsqrtss.asm @@ -107,14 +107,12 @@ vpinsrd xmm11, xmm11, eax, 0 hlt -section .bss -align 32 -result1: resq 2 -result2: resq 2 -result3: resq 2 -result4: resq 2 +align 4096 +result1: times 2 dq 0 +result2: times 2 dq 0 +result3: times 2 dq 0 +result4: times 2 dq 0 -section .data align 32 arg1: dq 0x414243443F800000 ; 1.0 @@ -150,7 +148,7 @@ eresult1: dd 0x3F800000 ; 1.0 eresult2: -dd 0x3f000000 ; 0.5 +dd 0x3f000000 ; 0.5 eresult3: dd 0x3eaaaaab ; 1/3 = 0.(3) @@ -161,4 +159,4 @@ dd 0x3e800000 ; 0.25 tolerance: dd 0x39c00000 -define_check_data_constants \ No newline at end of file +define_check_data_constants diff --git a/unittests/ASM/X87/D9_F5.asm b/unittests/ASM/X87/D9_F5.asm index 798786b10..29e9e2984 100644 --- a/unittests/ASM/X87/D9_F5.asm +++ b/unittests/ASM/X87/D9_F5.asm @@ -17,7 +17,7 @@ fprem1 hlt -align 8 +align 4096 data: dt 3.0 dq 0 diff --git a/unittests/ASM/X87/D9_F5_2.asm b/unittests/ASM/X87/D9_F5_2.asm index 9c065cd0a..850fc786d 100644 --- a/unittests/ASM/X87/D9_F5_2.asm +++ b/unittests/ASM/X87/D9_F5_2.asm @@ -39,7 +39,7 @@ fld tword [rdx + 8 * 0] hlt -align 8 +align 4096 data: dt 7.0 dq 0 diff --git a/unittests/ASM/X87/D9_F5_3.asm b/unittests/ASM/X87/D9_F5_3.asm index 3c401a8fd..88f7944fd 100644 --- a/unittests/ASM/X87/D9_F5_3.asm +++ b/unittests/ASM/X87/D9_F5_3.asm @@ -39,7 +39,7 @@ fld tword [rdx + 8 * 0] hlt -align 8 +align 4096 data: dt 7.0 dq 0 diff --git a/unittests/ASM/X87/D9_F6.asm b/unittests/ASM/X87/D9_F6.asm index f22786ef7..e62292150 100644 --- a/unittests/ASM/X87/D9_F6.asm +++ b/unittests/ASM/X87/D9_F6.asm @@ -18,17 +18,6 @@ ; Set the stack with different values. ; Then do fincstp and store the stack values into MMX registers through memory ; such that MM0 has the value of ST0 and so on. - -section .bss -align 8 -temp: resq 1 -stack: resq 8 - -section .text -global _start - -_start: - mov rax, 0x3ff0000000000000 ; 1.0 mov [rel temp], rax fld qword [rel temp] @@ -99,3 +88,7 @@ movq mm6, [rel stack + 8 * 6] movq mm7, [rel stack + 8 * 7] hlt + +align 4096 +temp: dq 0 +stack: dq 0 diff --git a/unittests/ASM/X87/D9_F7.asm b/unittests/ASM/X87/D9_F7.asm index 559715f99..e8ee65767 100644 --- a/unittests/ASM/X87/D9_F7.asm +++ b/unittests/ASM/X87/D9_F7.asm @@ -18,17 +18,6 @@ ; Set the stack with different values. ; Then do fincstp and store the stack values into MMX registers through memory ; such that MM0 has the value of ST0 and so on. - -section .bss -align 8 -temp: resq 1 -stack: resq 8 - -section .text -global _start - -_start: - mov rax, 0x3ff0000000000000 ; 1.0 mov [rel temp], rax fld qword [rel temp] @@ -98,3 +87,7 @@ movq mm6, [rel stack + 8 * 6] movq mm7, [rel stack + 8 * 7] hlt + +align 4096 +temp: dq 0 +stack: dq 0 diff --git a/unittests/ASM/X87/DA_00.asm b/unittests/ASM/X87/DA_00.asm index be076ba05..516cdbf7c 100644 --- a/unittests/ASM/X87/DA_00.asm +++ b/unittests/ASM/X87/DA_00.asm @@ -37,6 +37,7 @@ movups xmm1, [rel data] hlt +align 4096 data: dq 0 dq 0 diff --git a/unittests/ASM/X87/DA_01.asm b/unittests/ASM/X87/DA_01.asm index 2d1d8d549..fb95f84a0 100644 --- a/unittests/ASM/X87/DA_01.asm +++ b/unittests/ASM/X87/DA_01.asm @@ -32,6 +32,7 @@ movups xmm1, [rel data2] hlt +align 4096 data2: dq 0 dq 0 diff --git a/unittests/ASM/X87/DA_04.asm b/unittests/ASM/X87/DA_04.asm index 7dca87a77..1181076ad 100644 --- a/unittests/ASM/X87/DA_04.asm +++ b/unittests/ASM/X87/DA_04.asm @@ -32,6 +32,7 @@ movups xmm1, [rel data] hlt +align 4096 data: dq 0 dq 0 diff --git a/unittests/ASM/X87/DA_05.asm b/unittests/ASM/X87/DA_05.asm index 14877ecea..24efc7946 100644 --- a/unittests/ASM/X87/DA_05.asm +++ b/unittests/ASM/X87/DA_05.asm @@ -32,6 +32,7 @@ movups xmm1, [rel data] hlt +align 4096 data: dq 0 dq 0 diff --git a/unittests/ASM/X87/DA_06.asm b/unittests/ASM/X87/DA_06.asm index 2d121cbef..54eb4eb1a 100644 --- a/unittests/ASM/X87/DA_06.asm +++ b/unittests/ASM/X87/DA_06.asm @@ -34,6 +34,7 @@ movups xmm1, [rel data] hlt +align 4096 data: dq 0 dq 0 diff --git a/unittests/ASM/X87/DA_07.asm b/unittests/ASM/X87/DA_07.asm index 37726425a..5981d8fd8 100644 --- a/unittests/ASM/X87/DA_07.asm +++ b/unittests/ASM/X87/DA_07.asm @@ -32,6 +32,7 @@ movups xmm1, [rel data] hlt +align 4096 data: dq 0 dq 0 diff --git a/unittests/ASM/X87/DB_07.asm b/unittests/ASM/X87/DB_07.asm index f803fe6dd..ebd3fab63 100644 --- a/unittests/ASM/X87/DB_07.asm +++ b/unittests/ASM/X87/DB_07.asm @@ -15,7 +15,7 @@ fld tword [rdx + 8 * 0] hlt -align 8 +align 4096 data: dt 2.0 dq 0 diff --git a/unittests/ASM/X87/DB_07_2.asm b/unittests/ASM/X87/DB_07_2.asm index 865390654..70233f493 100644 --- a/unittests/ASM/X87/DB_07_2.asm +++ b/unittests/ASM/X87/DB_07_2.asm @@ -16,7 +16,7 @@ fld tword [rdx + 8 * 0] hlt -align 8 +align 4096 data: dt 2.0 dq 0 diff --git a/unittests/ASM/X87/DB_E3.asm b/unittests/ASM/X87/DB_E3.asm index 17db1e88b..ea2fc561c 100644 --- a/unittests/ASM/X87/DB_E3.asm +++ b/unittests/ASM/X87/DB_E3.asm @@ -6,12 +6,6 @@ } %endif -section .bss -control: resb 2 ; Reserve space for the FPU control word - -section .text -global _start -_start: fninit ; Ensures that fnstcw after fninit sets the correct value @@ -19,3 +13,6 @@ fnstcw [rel control] mov ax, word [rel control] hlt + +align 4096 +control: times 2 db 0 ; Reserve space for the FPU control word diff --git a/unittests/ASM/X87/DD_01.asm b/unittests/ASM/X87/DD_01.asm index ac60c5535..54ca3cf37 100644 --- a/unittests/ASM/X87/DD_01.asm +++ b/unittests/ASM/X87/DD_01.asm @@ -20,7 +20,7 @@ fld tword [rdx + 8 * 0] hlt -align 8 +align 4096 data: dt 2.0 dq 0 diff --git a/unittests/ASM/X87/DD_02.asm b/unittests/ASM/X87/DD_02.asm index 39fa3af6a..4ecb790ec 100644 --- a/unittests/ASM/X87/DD_02.asm +++ b/unittests/ASM/X87/DD_02.asm @@ -21,7 +21,7 @@ fld tword [rdx + 8 * 0] hlt -align 8 +align 4096 data: dt 2.0 dq 0 diff --git a/unittests/ASM/X87/DD_03.asm b/unittests/ASM/X87/DD_03.asm index 82590d638..ab69f6f8b 100644 --- a/unittests/ASM/X87/DD_03.asm +++ b/unittests/ASM/X87/DD_03.asm @@ -20,7 +20,7 @@ fld tword [rdx + 8 * 0] hlt -align 8 +align 4096 data: dt 2.0 dq 0 diff --git a/unittests/ASM/X87/DE_00.asm b/unittests/ASM/X87/DE_00.asm index 036b26f78..eba51d23b 100644 --- a/unittests/ASM/X87/DE_00.asm +++ b/unittests/ASM/X87/DE_00.asm @@ -37,6 +37,7 @@ movups xmm1, [rel data] hlt +align 4096 data: dq 0 dq 0 diff --git a/unittests/ASM/X87/DE_01.asm b/unittests/ASM/X87/DE_01.asm index 805d72405..783e09d32 100644 --- a/unittests/ASM/X87/DE_01.asm +++ b/unittests/ASM/X87/DE_01.asm @@ -32,6 +32,7 @@ movups xmm1, [rel data2] hlt +align 4096 data2: dq 0 dq 0 diff --git a/unittests/ASM/X87/DE_04.asm b/unittests/ASM/X87/DE_04.asm index e6478c2e2..3355bb9c5 100644 --- a/unittests/ASM/X87/DE_04.asm +++ b/unittests/ASM/X87/DE_04.asm @@ -32,6 +32,7 @@ movups xmm1, [rel data] hlt +align 4096 data: dq 0 dq 0 diff --git a/unittests/ASM/X87/DE_05.asm b/unittests/ASM/X87/DE_05.asm index d86f997f4..c9adcc417 100644 --- a/unittests/ASM/X87/DE_05.asm +++ b/unittests/ASM/X87/DE_05.asm @@ -32,6 +32,7 @@ movups xmm1, [rel data] hlt +align 4096 data: dq 0 dq 0 diff --git a/unittests/ASM/X87/DE_06.asm b/unittests/ASM/X87/DE_06.asm index b9d66c3e7..2d9db5f7b 100644 --- a/unittests/ASM/X87/DE_06.asm +++ b/unittests/ASM/X87/DE_06.asm @@ -32,6 +32,7 @@ movups xmm1, [rel data] hlt +align 4096 data: dq 0 dq 0 diff --git a/unittests/ASM/X87/DE_07.asm b/unittests/ASM/X87/DE_07.asm index aaab04a17..c57cc8719 100644 --- a/unittests/ASM/X87/DE_07.asm +++ b/unittests/ASM/X87/DE_07.asm @@ -32,6 +32,7 @@ movups xmm1, [rel data] hlt +align 4096 data: dq 0 dq 0 diff --git a/unittests/ASM/X87/DF_01.asm b/unittests/ASM/X87/DF_01.asm index 0a4093cc1..b5198f02e 100644 --- a/unittests/ASM/X87/DF_01.asm +++ b/unittests/ASM/X87/DF_01.asm @@ -20,7 +20,7 @@ fld tword [rdx + 8 * 0] hlt -align 8 +align 4096 data: dt 2.0 dq 0 diff --git a/unittests/ASM/X87/DF_04.asm b/unittests/ASM/X87/DF_04.asm index 300fdad4a..d55fc8323 100644 --- a/unittests/ASM/X87/DF_04.asm +++ b/unittests/ASM/X87/DF_04.asm @@ -98,6 +98,7 @@ movups xmm11, [rel .res_data_11] hlt +align 4096 .cw: dw 0 diff --git a/unittests/ASM/X87/FST_AddrModes.asm b/unittests/ASM/X87/FST_AddrModes.asm index 87fc46387..a65ffa20e 100644 --- a/unittests/ASM/X87/FST_AddrModes.asm +++ b/unittests/ASM/X87/FST_AddrModes.asm @@ -14,11 +14,6 @@ } %endif -section .bss -base resb 4096 - -section .text - ; Setup fld1 lea rdx, [rel base] @@ -41,3 +36,7 @@ mov r9d, dword [rdx + rsi + 0xa] mov r10d, dword [rdx + rsi * 4 + 0xa] hlt + +align 4096 +base: +times 4096 db 0 diff --git a/unittests/ASM/X87/FScale-Zero.asm b/unittests/ASM/X87/FScale-Zero.asm index 57db659f1..9451589f2 100644 --- a/unittests/ASM/X87/FScale-Zero.asm +++ b/unittests/ASM/X87/FScale-Zero.asm @@ -11,17 +11,6 @@ } %endif -section .data - neg_zero dq 0x8000000000000000 ; -0.0 - -section .bss - align 8 - intstor resq 1 - -section .text -global _start - -_start: ; scale by zero (st1 == 0) mov rax, 0 mov qword [rel intstor], rax @@ -83,3 +72,8 @@ fst qword [rel intstor] mov r13, [rel intstor] hlt + +align 4096 +neg_zero: dq 0x8000000000000000 ; -0.0 + +intstor: dq 0 diff --git a/unittests/ASM/X87/MemcopyWithCPUID.asm b/unittests/ASM/X87/MemcopyWithCPUID.asm index 62e755874..61d1494f7 100644 --- a/unittests/ASM/X87/MemcopyWithCPUID.asm +++ b/unittests/ASM/X87/MemcopyWithCPUID.asm @@ -9,20 +9,6 @@ ; Related to #4274 - ensures that if cpuid clobbers the predicate register, ; we reset the predicate cache. - -section .data -align 8 - -data: - dt 1.0 - -section .bss -align 8 - -data2: - resb 10 - -section .text lea r8, [rel data] fld tword [r8] @@ -34,3 +20,13 @@ fstp tword [rel data2] mov rbx, [rel data2] mov rcx, [rel data2+8] hlt + +align 4096 + +data: + dt 1.0 + +align 8 + +data2: + times 16 db 0 diff --git a/unittests/ASM/X87/Rounding.asm b/unittests/ASM/X87/Rounding.asm index bcc8e6ead..89f49574f 100644 --- a/unittests/ASM/X87/Rounding.asm +++ b/unittests/ASM/X87/Rounding.asm @@ -9,26 +9,6 @@ } %endif -section .data -align 8 -midpoint: - dq 1.5 -samidpoint: - dq 1.50001 -sbmidpoint: - dq 1.49999 -nmidpoint: - dq -1.5 -nsamidpoint: - dq -1.49999 -nsbmidpoint: - dq -1.50001 - -section .bss -align 8 -tmp resq 1 - -section .text ; Rounding tests to ensure rounding modes are actually working ;; Mid-point @@ -310,3 +290,18 @@ mov ax, word [rel tmp] or rsi, rax hlt + +align 4096 +midpoint: + dq 1.5 +samidpoint: + dq 1.50001 +sbmidpoint: + dq 1.49999 +nmidpoint: + dq -1.5 +nsamidpoint: + dq -1.49999 +nsbmidpoint: + dq -1.50001 +tmp: dq 0 diff --git a/unittests/ASM/X87/X87MMXInteraction.asm b/unittests/ASM/X87/X87MMXInteraction.asm index 3246ed3a6..25aafb132 100644 --- a/unittests/ASM/X87/X87MMXInteraction.asm +++ b/unittests/ASM/X87/X87MMXInteraction.asm @@ -13,15 +13,9 @@ } %endif -section .bss - x87env: resb 108 - -section .text -global _start ; Checks that after moving from X87 to MMX States, the ; values are correct and that MMX register writes, puts the top 16 bits as ; all 1s. -_start: finit ; enters x87 state fldpi ; goes in mm7 @@ -51,3 +45,6 @@ mov r10, qword [rel x87env + 78] mov r11w, word [rel x87env + 86] hlt + +align 4096 +x87env: times 108 db 0 diff --git a/unittests/ASM/X87/invalid_fcos_infinity.asm b/unittests/ASM/X87/invalid_fcos_infinity.asm index 42b5c7af3..019914aaf 100644 --- a/unittests/ASM/X87/invalid_fcos_infinity.asm +++ b/unittests/ASM/X87/invalid_fcos_infinity.asm @@ -21,6 +21,7 @@ and rax, 1 hlt +align 4096 .pos_inf: dq 0 dw 0 diff --git a/unittests/ASM/X87/invalid_fist_nan.asm b/unittests/ASM/X87/invalid_fist_nan.asm index 395d37333..77ed8d207 100644 --- a/unittests/ASM/X87/invalid_fist_nan.asm +++ b/unittests/ASM/X87/invalid_fist_nan.asm @@ -21,6 +21,6 @@ and rax, 1 hlt -align 8 +align 4096 data: dd 0 diff --git a/unittests/ASM/X87/invalid_fist_overflow.asm b/unittests/ASM/X87/invalid_fist_overflow.asm index 9c7418b12..93566ba27 100644 --- a/unittests/ASM/X87/invalid_fist_overflow.asm +++ b/unittests/ASM/X87/invalid_fist_overflow.asm @@ -20,7 +20,7 @@ and rax, 1 hlt -align 8 +align 4096 large_value: dt 1e20 data: diff --git a/unittests/ASM/X87/invalid_fist_overflow_16bit.asm b/unittests/ASM/X87/invalid_fist_overflow_16bit.asm index 45f20b172..b36ed68e3 100644 --- a/unittests/ASM/X87/invalid_fist_overflow_16bit.asm +++ b/unittests/ASM/X87/invalid_fist_overflow_16bit.asm @@ -6,17 +6,6 @@ } %endif -section .rodata -.thirty: dq 30 - -section .bss -.dummy: resw 1 - -section .text -global _start - -_start: - ; Test FIST with 16-bit overflow = Invalid Operation (should set bit 0 of status word) ; Create a large number that will overflow int16 @@ -33,3 +22,7 @@ fstsw ax and rax, 1 hlt + +align 4096 +.thirty: dq 30 +.dummy: dw 0 diff --git a/unittests/ASM/X87/invalid_fist_overflow_32bit.asm b/unittests/ASM/X87/invalid_fist_overflow_32bit.asm index 55c4d3dc0..5aa534304 100644 --- a/unittests/ASM/X87/invalid_fist_overflow_32bit.asm +++ b/unittests/ASM/X87/invalid_fist_overflow_32bit.asm @@ -6,17 +6,6 @@ } %endif -section .rodata -.fifty: dq 50 - -section .bss -.dummy: resd 1 - -section .text -global _start - -_start: - ; Test FIST with 32-bit overflow = Invalid Operation (should set bit 0 of status word) ; Create a very large number that will overflow int32 @@ -33,3 +22,7 @@ fstsw ax and rax, 1 hlt + +align 4096 +.fifty: dq 50 +.dummy: dd 0 diff --git a/unittests/ASM/X87/invalid_fist_overflow_64bit.asm b/unittests/ASM/X87/invalid_fist_overflow_64bit.asm index b7f1dec87..e0980e0da 100644 --- a/unittests/ASM/X87/invalid_fist_overflow_64bit.asm +++ b/unittests/ASM/X87/invalid_fist_overflow_64bit.asm @@ -6,17 +6,6 @@ } %endif -section .rodata -.seventyfive: dq 75 - -section .bss -.dummy: resq 1 - -section .text -global _start - -_start: - ; Test FIST with 64-bit overflow = Invalid Operation (should set bit 0 of status word) ; Create a very large number that will overflow int64 @@ -33,3 +22,7 @@ fstsw ax and rax, 1 hlt + +align 4096 +.seventyfive: dq 75 +.dummy: dq 0 diff --git a/unittests/ASM/X87/invalid_fptan_infinity.asm b/unittests/ASM/X87/invalid_fptan_infinity.asm index 56c88ef9b..2b988d35b 100644 --- a/unittests/ASM/X87/invalid_fptan_infinity.asm +++ b/unittests/ASM/X87/invalid_fptan_infinity.asm @@ -21,6 +21,7 @@ and rax, 1 hlt +align 4096 .pos_inf: dq 0 dw 0 diff --git a/unittests/ASM/X87/invalid_fsin_infinity.asm b/unittests/ASM/X87/invalid_fsin_infinity.asm index 1df33e2da..9962e887c 100644 --- a/unittests/ASM/X87/invalid_fsin_infinity.asm +++ b/unittests/ASM/X87/invalid_fsin_infinity.asm @@ -21,6 +21,7 @@ and rax, 1 hlt +align 4096 .pos_inf: dq 0 dw 0 diff --git a/unittests/ASM/X87/invalid_fsin_neg_infinity.asm b/unittests/ASM/X87/invalid_fsin_neg_infinity.asm index 9e8550728..596fa09c4 100644 --- a/unittests/ASM/X87/invalid_fsin_neg_infinity.asm +++ b/unittests/ASM/X87/invalid_fsin_neg_infinity.asm @@ -21,6 +21,7 @@ and rax, 1 hlt +align 4096 .neg_inf: dq 0 dw 0 diff --git a/unittests/ASM/X87/invalid_fsincos_infinity.asm b/unittests/ASM/X87/invalid_fsincos_infinity.asm index 533cdbd39..cb33e736f 100644 --- a/unittests/ASM/X87/invalid_fsincos_infinity.asm +++ b/unittests/ASM/X87/invalid_fsincos_infinity.asm @@ -21,6 +21,7 @@ and rax, 1 hlt +align 4096 .pos_inf: dq 0 dw 0 diff --git a/unittests/ASM/X87/invalid_reduced_precision.asm b/unittests/ASM/X87/invalid_reduced_precision.asm index dbadfbe18..bb3a06b21 100644 --- a/unittests/ASM/X87/invalid_reduced_precision.asm +++ b/unittests/ASM/X87/invalid_reduced_precision.asm @@ -28,6 +28,6 @@ fldcw [rel saved_cw] hlt -align 8 +align 4096 saved_cw: dw 0 new_cw: dw 0 diff --git a/unittests/ASM/X87/precision_test_fabs.asm b/unittests/ASM/X87/precision_test_fabs.asm index 9dda77a11..d8b74670e 100644 --- a/unittests/ASM/X87/precision_test_fabs.asm +++ b/unittests/ASM/X87/precision_test_fabs.asm @@ -111,6 +111,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Positive .source_1: dq 0x8111_1111_1111_1111 diff --git a/unittests/ASM/X87/precision_test_fadd.asm b/unittests/ASM/X87/precision_test_fadd.asm index 6678d3313..ca3439ec3 100644 --- a/unittests/ASM/X87/precision_test_fadd.asm +++ b/unittests/ASM/X87/precision_test_fadd.asm @@ -123,6 +123,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Positive .source_1: dq 0x8111_1111_1111_1111 diff --git a/unittests/ASM/X87/precision_test_fcos.asm b/unittests/ASM/X87/precision_test_fcos.asm index d1e64a978..e6b5897ca 100644 --- a/unittests/ASM/X87/precision_test_fcos.asm +++ b/unittests/ASM/X87/precision_test_fcos.asm @@ -111,6 +111,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Positive .source_1: dq 0x8222_2222_2222_2222 diff --git a/unittests/ASM/X87/precision_test_fdiv.asm b/unittests/ASM/X87/precision_test_fdiv.asm index 46c977d2a..b045dfca3 100644 --- a/unittests/ASM/X87/precision_test_fdiv.asm +++ b/unittests/ASM/X87/precision_test_fdiv.asm @@ -123,6 +123,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Positive .source_1: dq 0x8111_1111_1111_1111 diff --git a/unittests/ASM/X87/precision_test_fdivr.asm b/unittests/ASM/X87/precision_test_fdivr.asm index 893e9176d..7d4e2fce9 100644 --- a/unittests/ASM/X87/precision_test_fdivr.asm +++ b/unittests/ASM/X87/precision_test_fdivr.asm @@ -123,6 +123,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Positive .source_1: dq 0x8111_1111_1111_1111 diff --git a/unittests/ASM/X87/precision_test_fmul.asm b/unittests/ASM/X87/precision_test_fmul.asm index 54510dd4e..74175de57 100644 --- a/unittests/ASM/X87/precision_test_fmul.asm +++ b/unittests/ASM/X87/precision_test_fmul.asm @@ -123,6 +123,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Positive .source_1: dq 0x8111_1111_1111_1111 diff --git a/unittests/ASM/X87/precision_test_fprem.asm b/unittests/ASM/X87/precision_test_fprem.asm index a6144b973..dd80ca7b8 100644 --- a/unittests/ASM/X87/precision_test_fprem.asm +++ b/unittests/ASM/X87/precision_test_fprem.asm @@ -147,6 +147,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Positive .source_1: dq 0x8222_2222_2222_2222 diff --git a/unittests/ASM/X87/precision_test_fprem1.asm b/unittests/ASM/X87/precision_test_fprem1.asm index acb8682a9..b5e5e22ec 100644 --- a/unittests/ASM/X87/precision_test_fprem1.asm +++ b/unittests/ASM/X87/precision_test_fprem1.asm @@ -147,6 +147,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Positive .source_1: dq 0x8222_2222_2222_2222 diff --git a/unittests/ASM/X87/precision_test_fscale.asm b/unittests/ASM/X87/precision_test_fscale.asm index 638180341..d77f83b7e 100644 --- a/unittests/ASM/X87/precision_test_fscale.asm +++ b/unittests/ASM/X87/precision_test_fscale.asm @@ -147,6 +147,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Positive .source_1: dq 0x8222_2222_2222_2222 diff --git a/unittests/ASM/X87/precision_test_fsin.asm b/unittests/ASM/X87/precision_test_fsin.asm index 3aa3e3887..41c1d098b 100644 --- a/unittests/ASM/X87/precision_test_fsin.asm +++ b/unittests/ASM/X87/precision_test_fsin.asm @@ -111,6 +111,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Positive .source_1: dq 0x8222_2222_2222_2222 diff --git a/unittests/ASM/X87/precision_test_fsqrt.asm b/unittests/ASM/X87/precision_test_fsqrt.asm index 76d520006..4575f66ab 100644 --- a/unittests/ASM/X87/precision_test_fsqrt.asm +++ b/unittests/ASM/X87/precision_test_fsqrt.asm @@ -111,6 +111,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Positive .source_80bit: dq 0x8000_0000_0000_0002 diff --git a/unittests/ASM/X87/precision_test_fsub.asm b/unittests/ASM/X87/precision_test_fsub.asm index ccd97e1a7..068a31661 100644 --- a/unittests/ASM/X87/precision_test_fsub.asm +++ b/unittests/ASM/X87/precision_test_fsub.asm @@ -123,6 +123,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Positive .source_1: dq 0x8111_1111_1111_1111 diff --git a/unittests/ASM/X87/precision_test_fsubr.asm b/unittests/ASM/X87/precision_test_fsubr.asm index 4ef3dc8a9..3472d68f6 100644 --- a/unittests/ASM/X87/precision_test_fsubr.asm +++ b/unittests/ASM/X87/precision_test_fsubr.asm @@ -123,6 +123,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Positive .source_1: dq 0x8111_1111_1111_1111 diff --git a/unittests/ASM/X87/precision_test_ftan.asm b/unittests/ASM/X87/precision_test_ftan.asm index a70469966..d5161f181 100644 --- a/unittests/ASM/X87/precision_test_ftan.asm +++ b/unittests/ASM/X87/precision_test_ftan.asm @@ -123,6 +123,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Positive .source_1: dq 0x8222_2222_2222_2222 diff --git a/unittests/ASM/X87/precision_test_fyl2x.asm b/unittests/ASM/X87/precision_test_fyl2x.asm index 5732e3b52..9502cdbd6 100644 --- a/unittests/ASM/X87/precision_test_fyl2x.asm +++ b/unittests/ASM/X87/precision_test_fyl2x.asm @@ -123,6 +123,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 .source_1: dq 64 diff --git a/unittests/ASM/X87/precision_test_fyl2xp1.asm b/unittests/ASM/X87/precision_test_fyl2xp1.asm index 19c9a7248..cae78d5d3 100644 --- a/unittests/ASM/X87/precision_test_fyl2xp1.asm +++ b/unittests/ASM/X87/precision_test_fyl2xp1.asm @@ -123,6 +123,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 .source_1: dq 64 diff --git a/unittests/ASM/X87/precision_test_neg_fabs.asm b/unittests/ASM/X87/precision_test_neg_fabs.asm index ba442023d..219052b20 100644 --- a/unittests/ASM/X87/precision_test_neg_fabs.asm +++ b/unittests/ASM/X87/precision_test_neg_fabs.asm @@ -111,6 +111,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Positive .source_1: dq 0x8111_1111_1111_1111 diff --git a/unittests/ASM/X87/precision_test_neg_fadd.asm b/unittests/ASM/X87/precision_test_neg_fadd.asm index 8f49f69be..196b0c16d 100644 --- a/unittests/ASM/X87/precision_test_neg_fadd.asm +++ b/unittests/ASM/X87/precision_test_neg_fadd.asm @@ -123,6 +123,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Negative .source_1: dq 0x8111_1111_1111_1111 diff --git a/unittests/ASM/X87/precision_test_neg_fcos.asm b/unittests/ASM/X87/precision_test_neg_fcos.asm index a769f0104..cbebd3b0d 100644 --- a/unittests/ASM/X87/precision_test_neg_fcos.asm +++ b/unittests/ASM/X87/precision_test_neg_fcos.asm @@ -111,6 +111,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Positive .source_1: dq 0x8222_2222_2222_2222 diff --git a/unittests/ASM/X87/precision_test_neg_fdiv.asm b/unittests/ASM/X87/precision_test_neg_fdiv.asm index a308179f6..22f22deec 100644 --- a/unittests/ASM/X87/precision_test_neg_fdiv.asm +++ b/unittests/ASM/X87/precision_test_neg_fdiv.asm @@ -123,6 +123,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Negative .source_1: dq 0x8111_1111_1111_1111 diff --git a/unittests/ASM/X87/precision_test_neg_fdivr.asm b/unittests/ASM/X87/precision_test_neg_fdivr.asm index 1e40a9219..4502c5bfc 100644 --- a/unittests/ASM/X87/precision_test_neg_fdivr.asm +++ b/unittests/ASM/X87/precision_test_neg_fdivr.asm @@ -123,6 +123,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Negative .source_1: dq 0x8111_1111_1111_1111 diff --git a/unittests/ASM/X87/precision_test_neg_fmul.asm b/unittests/ASM/X87/precision_test_neg_fmul.asm index c30246361..6ce479546 100644 --- a/unittests/ASM/X87/precision_test_neg_fmul.asm +++ b/unittests/ASM/X87/precision_test_neg_fmul.asm @@ -123,6 +123,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Negative .source_1: dq 0x8111_1111_1111_1111 diff --git a/unittests/ASM/X87/precision_test_neg_fprem.asm b/unittests/ASM/X87/precision_test_neg_fprem.asm index 8471a3bc8..116f61aba 100644 --- a/unittests/ASM/X87/precision_test_neg_fprem.asm +++ b/unittests/ASM/X87/precision_test_neg_fprem.asm @@ -147,6 +147,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Positive .source_1: dq 0x8222_2222_2222_2222 diff --git a/unittests/ASM/X87/precision_test_neg_fprem1.asm b/unittests/ASM/X87/precision_test_neg_fprem1.asm index 1adf6c469..0b5021932 100644 --- a/unittests/ASM/X87/precision_test_neg_fprem1.asm +++ b/unittests/ASM/X87/precision_test_neg_fprem1.asm @@ -147,6 +147,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Positive .source_1: dq 0x8222_2222_2222_2222 diff --git a/unittests/ASM/X87/precision_test_neg_fscale.asm b/unittests/ASM/X87/precision_test_neg_fscale.asm index 33b982d61..6ed3dcf9b 100644 --- a/unittests/ASM/X87/precision_test_neg_fscale.asm +++ b/unittests/ASM/X87/precision_test_neg_fscale.asm @@ -147,6 +147,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Negative .source_1: dq 0x8222_2222_2222_2222 diff --git a/unittests/ASM/X87/precision_test_neg_fsin.asm b/unittests/ASM/X87/precision_test_neg_fsin.asm index b3bafd336..a64cbaf7a 100644 --- a/unittests/ASM/X87/precision_test_neg_fsin.asm +++ b/unittests/ASM/X87/precision_test_neg_fsin.asm @@ -111,6 +111,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Positive .source_1: dq 0x8222_2222_2222_2222 diff --git a/unittests/ASM/X87/precision_test_neg_fsub.asm b/unittests/ASM/X87/precision_test_neg_fsub.asm index 22882576d..d9547bf3c 100644 --- a/unittests/ASM/X87/precision_test_neg_fsub.asm +++ b/unittests/ASM/X87/precision_test_neg_fsub.asm @@ -123,6 +123,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Negative .source_1: dq 0x8111_1111_1111_1111 diff --git a/unittests/ASM/X87/precision_test_neg_fsubr.asm b/unittests/ASM/X87/precision_test_neg_fsubr.asm index fb62c00f0..4040ffa44 100644 --- a/unittests/ASM/X87/precision_test_neg_fsubr.asm +++ b/unittests/ASM/X87/precision_test_neg_fsubr.asm @@ -123,6 +123,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Negative .source_1: dq 0x8111_1111_1111_1111 diff --git a/unittests/ASM/X87/precision_test_neg_ftan.asm b/unittests/ASM/X87/precision_test_neg_ftan.asm index 65e5d4b69..0a330019d 100644 --- a/unittests/ASM/X87/precision_test_neg_ftan.asm +++ b/unittests/ASM/X87/precision_test_neg_ftan.asm @@ -123,6 +123,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 ; Positive .source_1: dq 0x8222_2222_2222_2222 diff --git a/unittests/ASM/X87/precision_test_neg_fyl2x.asm b/unittests/ASM/X87/precision_test_neg_fyl2x.asm index aa35f7769..5e475ab0f 100644 --- a/unittests/ASM/X87/precision_test_neg_fyl2x.asm +++ b/unittests/ASM/X87/precision_test_neg_fyl2x.asm @@ -123,6 +123,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 .source_1: dq 64 diff --git a/unittests/ASM/X87/precision_test_neg_fyl2xp1.asm b/unittests/ASM/X87/precision_test_neg_fyl2xp1.asm index a15616332..9750a8fed 100644 --- a/unittests/ASM/X87/precision_test_neg_fyl2xp1.asm +++ b/unittests/ASM/X87/precision_test_neg_fyl2xp1.asm @@ -123,6 +123,7 @@ movups xmm11, [rel .result_12] hlt +align 4096 .source_1: dq 64 diff --git a/unittests/ASM/X87/valid_fist_16bit.asm b/unittests/ASM/X87/valid_fist_16bit.asm index e0645ead1..e43238d01 100644 --- a/unittests/ASM/X87/valid_fist_16bit.asm +++ b/unittests/ASM/X87/valid_fist_16bit.asm @@ -7,17 +7,6 @@ } %endif -section .rodata -.value: dq 12345.75 - -section .bss -.result: resw 1 - -section .text -global _start - -_start: - ; Test FIST with valid 16-bit conversion ; Load a value that fits in int16 range @@ -34,3 +23,7 @@ and rax, 1 movzx rbx, word [rel .result] hlt + +align 4096 +.value: dq 12345.75 +.result: dw 0 diff --git a/unittests/ASM/X87_F64/D9_F4_02_F64.asm b/unittests/ASM/X87_F64/D9_F4_02_F64.asm index e363c8d46..c6b4e8fb8 100644 --- a/unittests/ASM/X87_F64/D9_F4_02_F64.asm +++ b/unittests/ASM/X87_F64/D9_F4_02_F64.asm @@ -17,18 +17,6 @@ ; move results to general purpose registers and check them there ; so that hostrunner tests work properly. -section .data - nzer: dq -0.0 - -section .bss - expz: resq 1 - sigz: resq 1 - expnz: resq 1 - signz: resq 1 - -section .text -global _start -_start: finit fldz fxtract @@ -48,3 +36,10 @@ mov rdx, [rel signz] hlt + +align 4096 +nzer: dq -0.0 +expz: dq 0 +sigz: dq 0 +expnz: dq 0 +signz: dq 0 diff --git a/unittests/ASM/X87_F64/D9_F6_F64.asm b/unittests/ASM/X87_F64/D9_F6_F64.asm index 0127ec3c4..8200f2533 100644 --- a/unittests/ASM/X87_F64/D9_F6_F64.asm +++ b/unittests/ASM/X87_F64/D9_F6_F64.asm @@ -19,17 +19,6 @@ ; Set the stack with different values. ; Then do fincstp and store the stack values into MMX registers through memory ; such that MM0 has the value of ST0 and so on. - -section .bss -align 8 -temp: resq 1 -stack: resq 8 - -section .text -global _start - -_start: - mov rax, 0x3ff0000000000000 ; 1.0 mov [rel temp], rax fld qword [rel temp] @@ -100,3 +89,7 @@ movq mm6, [rel stack + 8 * 6] movq mm7, [rel stack + 8 * 7] hlt + +align 4096 +temp: dq 0 +stack: times 8 dq 0 diff --git a/unittests/ASM/X87_F64/D9_F7_F64.asm b/unittests/ASM/X87_F64/D9_F7_F64.asm index d9309220f..a07746929 100644 --- a/unittests/ASM/X87_F64/D9_F7_F64.asm +++ b/unittests/ASM/X87_F64/D9_F7_F64.asm @@ -19,17 +19,6 @@ ; Set the stack with different values. ; Then do fincstp and store the stack values into MMX registers through memory ; such that MM0 has the value of ST0 and so on. - -section .bss -align 8 -temp: resq 1 -stack: resq 8 - -section .text -global _start - -_start: - mov rax, 0x3ff0000000000000 ; 1.0 mov [rel temp], rax fld qword [rel temp] @@ -99,3 +88,7 @@ movq mm6, [rel stack + 8 * 6] movq mm7, [rel stack + 8 * 7] hlt + +align 4096 +temp: dq 0 +stack: times 8 dq 0 diff --git a/unittests/ASM/X87_F64/D9_F8_F64.asm b/unittests/ASM/X87_F64/D9_F8_F64.asm index d5632f537..01e823290 100644 --- a/unittests/ASM/X87_F64/D9_F8_F64.asm +++ b/unittests/ASM/X87_F64/D9_F8_F64.asm @@ -23,7 +23,7 @@ mov ebx, [rdx + 8] hlt -align 8 +align 4096 data: dt 3.0 dq 0 diff --git a/unittests/ASM/X87_F64/DB_07_F64.asm b/unittests/ASM/X87_F64/DB_07_F64.asm index 348067315..a2b6d396d 100644 --- a/unittests/ASM/X87_F64/DB_07_F64.asm +++ b/unittests/ASM/X87_F64/DB_07_F64.asm @@ -20,7 +20,7 @@ mov rax, [rdx] hlt -align 8 +align 4096 data: dt 2.0 dq 0 diff --git a/unittests/ASM/X87_F64/DB_E3.asm b/unittests/ASM/X87_F64/DB_E3.asm index 39613ab6e..2764c90ef 100644 --- a/unittests/ASM/X87_F64/DB_E3.asm +++ b/unittests/ASM/X87_F64/DB_E3.asm @@ -7,12 +7,6 @@ } %endif -section .bss -control: resb 2 ; Reserve space for the FPU control word - -section .text -global _start -_start: fninit ; Ensures that fnstcw after fninit sets the correct value @@ -20,3 +14,7 @@ fnstcw [rel control] mov ax, word [rel control] hlt + +align 4096 +control: +times 2 db 0 ; Reserve space for the FPU control word diff --git a/unittests/ASM/X87_F64/DC_01_F64.asm b/unittests/ASM/X87_F64/DC_01_F64.asm index 4572fedb7..09b7e6c27 100644 --- a/unittests/ASM/X87_F64/DC_01_F64.asm +++ b/unittests/ASM/X87_F64/DC_01_F64.asm @@ -19,7 +19,7 @@ mov rax, [rdx] hlt -align 8 +align 4096 data: dt 1.0 dq 0 diff --git a/unittests/ASM/X87_F64/DC_C8_F64.asm b/unittests/ASM/X87_F64/DC_C8_F64.asm index ded66d45d..7fe45f80d 100644 --- a/unittests/ASM/X87_F64/DC_C8_F64.asm +++ b/unittests/ASM/X87_F64/DC_C8_F64.asm @@ -25,7 +25,7 @@ mov rbx, [rdx] hlt -align 8 +align 4096 data: dt 2.0 dq 0 diff --git a/unittests/ASM/X87_F64/DC_E0_F64.asm b/unittests/ASM/X87_F64/DC_E0_F64.asm index 089b21af7..797cc054d 100644 --- a/unittests/ASM/X87_F64/DC_E0_F64.asm +++ b/unittests/ASM/X87_F64/DC_E0_F64.asm @@ -23,7 +23,7 @@ mov rbx, [rdx] hlt -align 8 +align 4096 data: dt 1.0 dq 0 diff --git a/unittests/ASM/X87_F64/DC_E8_F64.asm b/unittests/ASM/X87_F64/DC_E8_F64.asm index fc877901a..712499fb5 100644 --- a/unittests/ASM/X87_F64/DC_E8_F64.asm +++ b/unittests/ASM/X87_F64/DC_E8_F64.asm @@ -24,7 +24,7 @@ mov rbx, [rdx] hlt -align 8 +align 4096 data: dt 1.0 dq 0 diff --git a/unittests/ASM/X87_F64/DC_F0_F64.asm b/unittests/ASM/X87_F64/DC_F0_F64.asm index fdfb5162b..026fc0fcb 100644 --- a/unittests/ASM/X87_F64/DC_F0_F64.asm +++ b/unittests/ASM/X87_F64/DC_F0_F64.asm @@ -23,7 +23,7 @@ mov rbx, [rdx] hlt -align 8 +align 4096 data: dt 2.0 dq 0 diff --git a/unittests/ASM/X87_F64/DC_F8_F64.asm b/unittests/ASM/X87_F64/DC_F8_F64.asm index 53ebda9e3..a9e709050 100644 --- a/unittests/ASM/X87_F64/DC_F8_F64.asm +++ b/unittests/ASM/X87_F64/DC_F8_F64.asm @@ -23,7 +23,7 @@ mov rbx, [rdx] hlt -align 8 +align 4096 data: dt 8.0 dq 0 diff --git a/unittests/ASM/X87_F64/DD_01_F64.asm b/unittests/ASM/X87_F64/DD_01_F64.asm index e8d79c4ce..17017e45e 100644 --- a/unittests/ASM/X87_F64/DD_01_F64.asm +++ b/unittests/ASM/X87_F64/DD_01_F64.asm @@ -24,7 +24,7 @@ mov rbx, [rdx] hlt -align 8 +align 4096 data: dt 2.0 dq 0 diff --git a/unittests/ASM/X87_F64/DD_02_F64.asm b/unittests/ASM/X87_F64/DD_02_F64.asm index 704c814af..bcfd9206a 100644 --- a/unittests/ASM/X87_F64/DD_02_F64.asm +++ b/unittests/ASM/X87_F64/DD_02_F64.asm @@ -27,7 +27,7 @@ mov rcx, [rdx] hlt -align 8 +align 4096 data: dt 2.0 dq 0 diff --git a/unittests/ASM/X87_F64/DD_03_F64.asm b/unittests/ASM/X87_F64/DD_03_F64.asm index 00cf51c6a..15f604449 100644 --- a/unittests/ASM/X87_F64/DD_03_F64.asm +++ b/unittests/ASM/X87_F64/DD_03_F64.asm @@ -24,7 +24,7 @@ mov rbx, [rdx] hlt -align 8 +align 4096 data: dt 2.0 dq 0 diff --git a/unittests/ASM/X87_F64/DD_D0_2_F64.asm b/unittests/ASM/X87_F64/DD_D0_2_F64.asm index 91ee29a51..08f952b75 100644 --- a/unittests/ASM/X87_F64/DD_D0_2_F64.asm +++ b/unittests/ASM/X87_F64/DD_D0_2_F64.asm @@ -25,6 +25,6 @@ mov rbx, [rdx] hlt -align 8 +align 4096 data: - dq 2.0 \ No newline at end of file + dq 2.0 diff --git a/unittests/ASM/X87_F64/DD_D0_F64.asm b/unittests/ASM/X87_F64/DD_D0_F64.asm index 7b8f5d166..fadd1aaac 100644 --- a/unittests/ASM/X87_F64/DD_D0_F64.asm +++ b/unittests/ASM/X87_F64/DD_D0_F64.asm @@ -22,7 +22,7 @@ mov rbx, [rdx] hlt -align 8 +align 4096 data: dt 2.0 dq 0 diff --git a/unittests/ASM/X87_F64/DD_D8_F64.asm b/unittests/ASM/X87_F64/DD_D8_F64.asm index 751dcee13..af0492140 100644 --- a/unittests/ASM/X87_F64/DD_D8_F64.asm +++ b/unittests/ASM/X87_F64/DD_D8_F64.asm @@ -25,7 +25,7 @@ mov rbx, [rdx] hlt -align 8 +align 4096 data: dt 2.0 dq 0 diff --git a/unittests/ASM/X87_F64/DF_01_F64.asm b/unittests/ASM/X87_F64/DF_01_F64.asm index 5956cc1c2..1ff24a3ce 100644 --- a/unittests/ASM/X87_F64/DF_01_F64.asm +++ b/unittests/ASM/X87_F64/DF_01_F64.asm @@ -24,7 +24,7 @@ mov rbx, [rdx + 8 * 0] hlt -align 8 +align 4096 data: dt 2.0 dq 0 diff --git a/unittests/ASM/X87_F64/DF_04_F64.asm b/unittests/ASM/X87_F64/DF_04_F64.asm index 31cf7dc43..840636b32 100644 --- a/unittests/ASM/X87_F64/DF_04_F64.asm +++ b/unittests/ASM/X87_F64/DF_04_F64.asm @@ -104,11 +104,11 @@ movups xmm11, [rel .res_data_11] hlt -align 16 +align 4096 .precisionMask: dd 0xfff00000 dd 0xffffffff -dd 0xffffffff +dd 0xffffffff dd 0xffffffff diff --git a/unittests/ASM/X87_F64/FScale-Zero_F64.asm b/unittests/ASM/X87_F64/FScale-Zero_F64.asm index b3c14301d..1f809e227 100644 --- a/unittests/ASM/X87_F64/FScale-Zero_F64.asm +++ b/unittests/ASM/X87_F64/FScale-Zero_F64.asm @@ -11,13 +11,6 @@ } %endif -section .data - neg_zero dq 0x8000000000000000 ; -0.0 - -section .bss - intstor: resq 1 - -section .text ; scale by zero (st1 == 0) mov rax, 0 mov qword [rel intstor], rax @@ -79,3 +72,7 @@ fst qword [rel intstor] mov r13, [rel intstor] hlt + +align 4096 +neg_zero: dq 0x8000000000000000 ; -0.0 +intstor: dq 0 diff --git a/unittests/ASM/X87_F64/Rounding_F64.asm b/unittests/ASM/X87_F64/Rounding_F64.asm index a8454c635..8c3231128 100644 --- a/unittests/ASM/X87_F64/Rounding_F64.asm +++ b/unittests/ASM/X87_F64/Rounding_F64.asm @@ -10,26 +10,6 @@ } %endif -section .data -align 8 -midpoint: - dq 1.5 -samidpoint: - dq 1.50001 -sbmidpoint: - dq 1.49999 -nmidpoint: - dq -1.5 -nsamidpoint: - dq -1.49999 -nsbmidpoint: - dq -1.50001 - -section .bss -align 8 -tmp resq 1 - -section .text ; Rounding tests to ensure rounding modes are actually working ;; Mid-point @@ -311,3 +291,19 @@ mov ax, word [rel tmp] or rsi, rax hlt + +align 4096 +midpoint: + dq 1.5 +samidpoint: + dq 1.50001 +sbmidpoint: + dq 1.49999 +nmidpoint: + dq -1.5 +nsamidpoint: + dq -1.49999 +nsbmidpoint: + dq -1.50001 + +tmp: dq 0 diff --git a/unittests/ASM/x87_stack.asm b/unittests/ASM/x87_stack.asm index f032ca9c6..04d6f78c7 100644 --- a/unittests/ASM/x87_stack.asm +++ b/unittests/ASM/x87_stack.asm @@ -17,6 +17,7 @@ mov rax, [rbx] mov rbx, [rbx + 8] hlt +align 4096 .data: dq 0x4142434445464748 dq 0x5152535455565758