Changeset 7131


Ignore:
Timestamp:
Sep 4, 2007, 9:01:18 PM (12 years ago)
Author:
rme
Message:

Add %acc{q,l,w,b} as vinsn operand types in order to be able to
take advantage of shorter insn encodings when rax/eax/ax/al is
the destination operand.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ia32/compiler/X86/x86-backend.lisp

    r7044 r7131  
    3636              (8 (x86::encode-operand-type :reg64))
    3737              (4 (x86::encode-operand-type :reg32))))
     38        (:%acc (ecase (arch::target-lisp-node-size (backend-target-arch backend))
     39              (8 (x86::encode-operand-type :reg64 :acc))
     40              (4 (x86::encode-operand-type :reg32 :acc))))
    3841        (:%q (x86::encode-operand-type :reg64))
     42        (:%accq (x86::encode-operand-type :reg64 :acc))
    3943        (:%l (x86::encode-operand-type :reg32))
     44        (:%accl (x86::encode-operand-type :reg32 :acc))
    4045        (:%w (x86::encode-operand-type :reg16))
     46        (:%accw (x86::encode-operand-type :reg16 :acc))
    4147        (:%b (x86::encode-operand-type :reg8))
     48        (:%accb (x86::encode-operand-type :reg8 :acc))
    4249        (:%xmm (x86::encode-operand-type :regxmm))
    4350        (:%mmx (x86::encode-operand-type :regmmx))
Note: See TracChangeset for help on using the changeset viewer.