src/cpu/x86/vm/assembler_x86.hpp

changeset 2350
2f644f85485d
parent 2344
ac637b7220d1
child 2423
b1a2afa37ec4
     1.1 --- a/src/cpu/x86/vm/assembler_x86.hpp	Thu Dec 02 17:21:12 2010 -0800
     1.2 +++ b/src/cpu/x86/vm/assembler_x86.hpp	Fri Dec 03 01:34:31 2010 -0800
     1.3 @@ -1353,6 +1353,10 @@
     1.4    void sqrtsd(XMMRegister dst, Address src);
     1.5    void sqrtsd(XMMRegister dst, XMMRegister src);
     1.6  
     1.7 +  // Compute Square Root of Scalar Single-Precision Floating-Point Value
     1.8 +  void sqrtss(XMMRegister dst, Address src);
     1.9 +  void sqrtss(XMMRegister dst, XMMRegister src);
    1.10 +
    1.11    void std() { emit_byte(0xfd); }
    1.12  
    1.13    void stmxcsr( Address dst );
    1.14 @@ -2125,6 +2129,9 @@
    1.15    void comisd(XMMRegister dst, Address src) { Assembler::comisd(dst, src); }
    1.16    void comisd(XMMRegister dst, AddressLiteral src);
    1.17  
    1.18 +  void fadd_s(Address src)        { Assembler::fadd_s(src); }
    1.19 +  void fadd_s(AddressLiteral src) { Assembler::fadd_s(as_Address(src)); }
    1.20 +
    1.21    void fldcw(Address src) { Assembler::fldcw(src); }
    1.22    void fldcw(AddressLiteral src);
    1.23  
    1.24 @@ -2138,6 +2145,9 @@
    1.25    void fld_x(Address src) { Assembler::fld_x(src); }
    1.26    void fld_x(AddressLiteral src);
    1.27  
    1.28 +  void fmul_s(Address src)        { Assembler::fmul_s(src); }
    1.29 +  void fmul_s(AddressLiteral src) { Assembler::fmul_s(as_Address(src)); }
    1.30 +
    1.31    void ldmxcsr(Address src) { Assembler::ldmxcsr(src); }
    1.32    void ldmxcsr(AddressLiteral src);
    1.33  
    1.34 @@ -2154,10 +2164,50 @@
    1.35  
    1.36  public:
    1.37  
    1.38 -  void movsd(XMMRegister dst, XMMRegister src) { Assembler::movsd(dst, src); }
    1.39 -  void movsd(Address dst, XMMRegister src)     { Assembler::movsd(dst, src); }
    1.40 -  void movsd(XMMRegister dst, Address src)     { Assembler::movsd(dst, src); }
    1.41 -  void movsd(XMMRegister dst, AddressLiteral src);
    1.42 +  void addsd(XMMRegister dst, XMMRegister src)    { Assembler::addsd(dst, src); }
    1.43 +  void addsd(XMMRegister dst, Address src)        { Assembler::addsd(dst, src); }
    1.44 +  void addsd(XMMRegister dst, AddressLiteral src) { Assembler::addsd(dst, as_Address(src)); }
    1.45 +
    1.46 +  void addss(XMMRegister dst, XMMRegister src)    { Assembler::addss(dst, src); }
    1.47 +  void addss(XMMRegister dst, Address src)        { Assembler::addss(dst, src); }
    1.48 +  void addss(XMMRegister dst, AddressLiteral src) { Assembler::addss(dst, as_Address(src)); }
    1.49 +
    1.50 +  void divsd(XMMRegister dst, XMMRegister src)    { Assembler::divsd(dst, src); }
    1.51 +  void divsd(XMMRegister dst, Address src)        { Assembler::divsd(dst, src); }
    1.52 +  void divsd(XMMRegister dst, AddressLiteral src) { Assembler::divsd(dst, as_Address(src)); }
    1.53 +
    1.54 +  void divss(XMMRegister dst, XMMRegister src)    { Assembler::divss(dst, src); }
    1.55 +  void divss(XMMRegister dst, Address src)        { Assembler::divss(dst, src); }
    1.56 +  void divss(XMMRegister dst, AddressLiteral src) { Assembler::divss(dst, as_Address(src)); }
    1.57 +
    1.58 +  void movsd(XMMRegister dst, XMMRegister src)    { Assembler::movsd(dst, src); }
    1.59 +  void movsd(Address dst, XMMRegister src)        { Assembler::movsd(dst, src); }
    1.60 +  void movsd(XMMRegister dst, Address src)        { Assembler::movsd(dst, src); }
    1.61 +  void movsd(XMMRegister dst, AddressLiteral src) { Assembler::movsd(dst, as_Address(src)); }
    1.62 +
    1.63 +  void mulsd(XMMRegister dst, XMMRegister src)    { Assembler::mulsd(dst, src); }
    1.64 +  void mulsd(XMMRegister dst, Address src)        { Assembler::mulsd(dst, src); }
    1.65 +  void mulsd(XMMRegister dst, AddressLiteral src) { Assembler::mulsd(dst, as_Address(src)); }
    1.66 +
    1.67 +  void mulss(XMMRegister dst, XMMRegister src)    { Assembler::mulss(dst, src); }
    1.68 +  void mulss(XMMRegister dst, Address src)        { Assembler::mulss(dst, src); }
    1.69 +  void mulss(XMMRegister dst, AddressLiteral src) { Assembler::mulss(dst, as_Address(src)); }
    1.70 +
    1.71 +  void sqrtsd(XMMRegister dst, XMMRegister src)    { Assembler::sqrtsd(dst, src); }
    1.72 +  void sqrtsd(XMMRegister dst, Address src)        { Assembler::sqrtsd(dst, src); }
    1.73 +  void sqrtsd(XMMRegister dst, AddressLiteral src) { Assembler::sqrtsd(dst, as_Address(src)); }
    1.74 +
    1.75 +  void sqrtss(XMMRegister dst, XMMRegister src)    { Assembler::sqrtss(dst, src); }
    1.76 +  void sqrtss(XMMRegister dst, Address src)        { Assembler::sqrtss(dst, src); }
    1.77 +  void sqrtss(XMMRegister dst, AddressLiteral src) { Assembler::sqrtss(dst, as_Address(src)); }
    1.78 +
    1.79 +  void subsd(XMMRegister dst, XMMRegister src)    { Assembler::subsd(dst, src); }
    1.80 +  void subsd(XMMRegister dst, Address src)        { Assembler::subsd(dst, src); }
    1.81 +  void subsd(XMMRegister dst, AddressLiteral src) { Assembler::subsd(dst, as_Address(src)); }
    1.82 +
    1.83 +  void subss(XMMRegister dst, XMMRegister src)    { Assembler::subss(dst, src); }
    1.84 +  void subss(XMMRegister dst, Address src)        { Assembler::subss(dst, src); }
    1.85 +  void subss(XMMRegister dst, AddressLiteral src) { Assembler::subss(dst, as_Address(src)); }
    1.86  
    1.87    void ucomiss(XMMRegister dst, XMMRegister src) { Assembler::ucomiss(dst, src); }
    1.88    void ucomiss(XMMRegister dst, Address src) { Assembler::ucomiss(dst, src); }

mercurial