Add Intel encodings for floating point load/store instructions.

Include wasm/*-memory64.cton tests too.
This commit is contained in:
Jakob Stoklund Olesen
2017-09-18 18:23:53 -07:00
parent 88348368a8
commit 1fdeddd0d3
8 changed files with 448 additions and 0 deletions

View File

@@ -223,6 +223,26 @@ enc_i32_i64_ld_st(base.sload8, True, r.ld, 0x0f, 0xbe)
enc_i32_i64_ld_st(base.sload8, True, r.ldDisp8, 0x0f, 0xbe)
enc_i32_i64_ld_st(base.sload8, True, r.ldDisp32, 0x0f, 0xbe)
#
# Float loads and stores.
#
enc_flt(base.load.f32.any, r.fld, 0x66, 0x0f, 0x6e)
enc_flt(base.load.f32.any, r.fldDisp8, 0x66, 0x0f, 0x6e)
enc_flt(base.load.f32.any, r.fldDisp32, 0x66, 0x0f, 0x6e)
enc_flt(base.load.f64.any, r.fld, 0xf3, 0x0f, 0x7e)
enc_flt(base.load.f64.any, r.fldDisp8, 0xf3, 0x0f, 0x7e)
enc_flt(base.load.f64.any, r.fldDisp32, 0xf3, 0x0f, 0x7e)
enc_flt(base.store.f32.any, r.fst, 0x66, 0x0f, 0x7e)
enc_flt(base.store.f32.any, r.fstDisp8, 0x66, 0x0f, 0x7e)
enc_flt(base.store.f32.any, r.fstDisp32, 0x66, 0x0f, 0x7e)
enc_flt(base.store.f64.any, r.fst, 0x66, 0x0f, 0xd6)
enc_flt(base.store.f64.any, r.fstDisp8, 0x66, 0x0f, 0xd6)
enc_flt(base.store.f64.any, r.fstDisp32, 0x66, 0x0f, 0xd6)
#
# Call/return
#