diff options
author | Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com> | 2022-07-07 16:28:17 -0400 |
---|---|---|
committer | Takashi Kokubun <takashikkbn@gmail.com> | 2022-08-29 08:46:59 -0700 |
commit | ab2fa6ebddc13679452ad9f0fc3a7b630a1cbe3a (patch) | |
tree | ae392fc66b8fc80a2756aff1bc52646f1c3b3332 /yjit/src/backend/tests.rs | |
parent | 580f26959eb31d523ac21d640e21ddbe70779512 (diff) |
Add a backend test with a load of a GC'd VALUE
Diffstat (limited to 'yjit/src/backend/tests.rs')
-rw-r--r-- | yjit/src/backend/tests.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/yjit/src/backend/tests.rs b/yjit/src/backend/tests.rs index 9ec986f734..d72f0ec0ac 100644 --- a/yjit/src/backend/tests.rs +++ b/yjit/src/backend/tests.rs @@ -138,6 +138,21 @@ fn test_load_reg() asm.compile_with_num_regs(&mut cb, 1); } +// Test load of a GC'd value +#[test] +fn test_load_value() +{ + let (mut asm, mut cb) = setup_asm(); + + let gcd_value = VALUE(0xFFFFFFFFFFFF00); + assert!(!gcd_value.special_const_p()); + + let out = asm.load(Opnd::Value(gcd_value)); + asm.mov(Opnd::mem(64, SP, 0), out); + + asm.compile_with_num_regs(&mut cb, 1); +} + // Multiple registers needed and register reuse #[test] fn test_reuse_reg() |