ruby-changes:73140
From: Maxime <ko1@a...>
Date: Tue, 30 Aug 2022 00:55:36 +0900 (JST)
Subject: [ruby-changes:73140] 084d4bb192 (master): Implement X86Reg::sub_reg() method
https://git.ruby-lang.org/ruby.git/commit/?id=084d4bb192 From 084d4bb19228eed3e89663a2d24ab3accaa1a4ee Mon Sep 17 00:00:00 2001 From: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@s...> Date: Thu, 16 Jun 2022 15:25:27 -0400 Subject: Implement X86Reg::sub_reg() method --- yjit/src/asm/x86_64/mod.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/yjit/src/asm/x86_64/mod.rs b/yjit/src/asm/x86_64/mod.rs index 399c2e8c7e..ca2a2f6e1f 100644 --- a/yjit/src/asm/x86_64/mod.rs +++ b/yjit/src/asm/x86_64/mod.rs @@ -88,6 +88,25 @@ pub enum X86Opnd https://github.com/ruby/ruby/blob/trunk/yjit/src/asm/x86_64/mod.rs#L88 IPRel(i32) } +impl X86Reg { + fn sub_reg(&self, num_bits: u8) -> Self { + assert!( + num_bits == 8 || + num_bits == 16 || + num_bits == 32 || + num_bits == 64 + ); + + assert!(num_bits <= self.num_bits); + + Self { + num_bits, + reg_type: self.reg_type, + reg_no: self.reg_no + } + } +} + impl X86Opnd { fn rex_needed(&self) -> bool { match self { -- cgit v1.2.1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/