Changeset 622
- Timestamp:
- 08/21/10 23:51:30 (14 years ago)
- Files:
-
- branches/dmd-1.x/src/backend/cg87.c (modified) (1 diff)
- trunk/src/backend/cg87.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/dmd-1.x/src/backend/cg87.c
r577 r622 1803 1803 else 1804 1804 goto ret1; 1805 1805 1806 1806 case OPconst: 1807 1807 if (loadconst(e, 0) || tybasic(e->Ety) == TYldouble 1808 1808 || tybasic(e->Ety) == TYildouble) 1809 1809 { 1810 1810 //printf("ret 1, loadconst(e) = %d\n", loadconst(e)); 1811 1811 goto ret1; 1812 1812 } 1813 1813 goto ret0; 1814 1814 1815 1815 case OPvar: 1816 1816 case OPind: 1817 1817 if (tybasic(e->Ety) == TYldouble || 1818 1818 tybasic(e->Ety) == TYildouble) 1819 1819 goto ret1; 1820 1820 case OPu16_d: 1821 1821 case OPs16_d: 1822 1822 case OPs32_d: 1823 goto ret0; 1824 1823 1825 case OPs64_d: 1824 goto ret 0;1826 goto ret1; 1825 1827 1826 1828 default: 1827 1829 goto ret1; 1828 1830 } 1829 1831 1830 1832 ret1: return 1; 1831 1833 ret0: return 0; 1832 1834 } 1833 1835 1834 1836 /******************************* 1835 1837 * Perform an assignment to a long double/double/float. 1836 1838 */ 1837 1839 1838 1840 code *eq87(elem *e,regm_t *pretregs) 1839 1841 { 1840 1842 regm_t retregs; 1841 1843 code *c1,*c2; 1842 1844 code cs; 1843 1845 unsigned op1; 1844 1846 unsigned op2; trunk/src/backend/cg87.c
r577 r622 1803 1803 else 1804 1804 goto ret1; 1805 1805 1806 1806 case OPconst: 1807 1807 if (loadconst(e, 0) || tybasic(e->Ety) == TYldouble 1808 1808 || tybasic(e->Ety) == TYildouble) 1809 1809 { 1810 1810 //printf("ret 1, loadconst(e) = %d\n", loadconst(e)); 1811 1811 goto ret1; 1812 1812 } 1813 1813 goto ret0; 1814 1814 1815 1815 case OPvar: 1816 1816 case OPind: 1817 1817 if (tybasic(e->Ety) == TYldouble || 1818 1818 tybasic(e->Ety) == TYildouble) 1819 1819 goto ret1; 1820 1820 case OPu16_d: 1821 1821 case OPs16_d: 1822 1822 case OPs32_d: 1823 goto ret0; 1824 1823 1825 case OPs64_d: 1824 goto ret 0;1826 goto ret1; 1825 1827 1826 1828 default: 1827 1829 goto ret1; 1828 1830 } 1829 1831 1830 1832 ret1: return 1; 1831 1833 ret0: return 0; 1832 1834 } 1833 1835 1834 1836 /******************************* 1835 1837 * Perform an assignment to a long double/double/float. 1836 1838 */ 1837 1839 1838 1840 code *eq87(elem *e,regm_t *pretregs) 1839 1841 { 1840 1842 regm_t retregs; 1841 1843 code *c1,*c2; 1842 1844 code cs; 1843 1845 unsigned op1; 1844 1846 unsigned op2;
