| OLD | NEW |
| 1 //===- subzero/src/IceTargetLoweringX86BaseImpl.h - x86 lowering -*- C++ -*-==// | 1 //===- subzero/src/IceTargetLoweringX86BaseImpl.h - x86 lowering -*- C++ -*-==// |
| 2 // | 2 // |
| 3 // The Subzero Code Generator | 3 // The Subzero Code Generator |
| 4 // | 4 // |
| 5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
| 6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
| 7 // | 7 // |
| 8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
| 9 /// | 9 /// |
| 10 /// \file | 10 /// \file |
| (...skipping 1936 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1947 // a.hi = t4.hi | 1947 // a.hi = t4.hi |
| 1948 // The mul instruction cannot take an immediate operand. | 1948 // The mul instruction cannot take an immediate operand. |
| 1949 Src1Lo = legalize(Src1Lo, Legal_Reg | Legal_Mem); | 1949 Src1Lo = legalize(Src1Lo, Legal_Reg | Legal_Mem); |
| 1950 _mov(T_1, Src0Hi); | 1950 _mov(T_1, Src0Hi); |
| 1951 _imul(T_1, Src1Lo); | 1951 _imul(T_1, Src1Lo); |
| 1952 _mov(T_3, Src0Lo, Traits::RegisterSet::Reg_eax); | 1952 _mov(T_3, Src0Lo, Traits::RegisterSet::Reg_eax); |
| 1953 _mul(T_4Lo, T_3, Src1Lo); | 1953 _mul(T_4Lo, T_3, Src1Lo); |
| 1954 // The mul instruction produces two dest variables, edx:eax. We create a | 1954 // The mul instruction produces two dest variables, edx:eax. We create a |
| 1955 // fake definition of edx to account for this. | 1955 // fake definition of edx to account for this. |
| 1956 Context.insert<InstFakeDef>(T_4Hi, T_4Lo); | 1956 Context.insert<InstFakeDef>(T_4Hi, T_4Lo); |
| 1957 Context.insert<InstFakeUse>(T_4Hi); |
| 1957 _mov(DestLo, T_4Lo); | 1958 _mov(DestLo, T_4Lo); |
| 1958 _add(T_4Hi, T_1); | 1959 _add(T_4Hi, T_1); |
| 1959 _mov(T_2, Src1Hi); | 1960 _mov(T_2, Src1Hi); |
| 1960 _imul(T_2, Src0Lo); | 1961 _imul(T_2, Src0Lo); |
| 1961 _add(T_4Hi, T_2); | 1962 _add(T_4Hi, T_2); |
| 1962 _mov(DestHi, T_4Hi); | 1963 _mov(DestHi, T_4Hi); |
| 1963 } break; | 1964 } break; |
| 1964 case InstArithmetic::Shl: | 1965 case InstArithmetic::Shl: |
| 1965 case InstArithmetic::Lshr: | 1966 case InstArithmetic::Lshr: |
| 1966 case InstArithmetic::Ashr: | 1967 case InstArithmetic::Ashr: |
| (...skipping 5490 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7457 emitGlobal(*Var, SectionSuffix); | 7458 emitGlobal(*Var, SectionSuffix); |
| 7458 } | 7459 } |
| 7459 } | 7460 } |
| 7460 } break; | 7461 } break; |
| 7461 } | 7462 } |
| 7462 } | 7463 } |
| 7463 } // end of namespace X86NAMESPACE | 7464 } // end of namespace X86NAMESPACE |
| 7464 } // end of namespace Ice | 7465 } // end of namespace Ice |
| 7465 | 7466 |
| 7466 #endif // SUBZERO_SRC_ICETARGETLOWERINGX86BASEIMPL_H | 7467 #endif // SUBZERO_SRC_ICETARGETLOWERINGX86BASEIMPL_H |
| OLD | NEW |