public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug target/12749] New: i386 LP64 bug. @ 2003-10-23 20:42 matt at 3am-software dot com 2003-10-23 21:27 ` [Bug target/12749] " pinskia at gcc dot gnu dot org ` (3 more replies) 0 siblings, 4 replies; 5+ messages in thread From: matt at 3am-software dot com @ 2003-10-23 20:42 UTC (permalink / raw) To: gcc-bugs PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12749 Summary: i386 LP64 bug. Product: gcc Version: 3.4 Status: UNCONFIRMED Severity: normal Priority: P2 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: matt at 3am-software dot com CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: x86_64--netbsd GCC host triplet: x86_64--netbsd GCC target triplet: i386--netbsdelf The attached program will emit assembly that gas will complain about: e_sinhf.s:134: Error: missing or invalid immediate expression `0xffffffffbf000000' taken as 0 e_sinhf.s:134: Error: suffix or operands invalid for `mov' --- i386.c 18 Oct 2003 11:10:38 -0000 1.1.1.2 +++ i386.c 23 Oct 2003 20:39:10 -0000 @@ -7076,21 +7076,21 @@ else if (GET_CODE (x) == CONST_DOUBLE && GET_MODE (x) == SFmode) { REAL_VALUE_TYPE r; long l; REAL_VALUE_FROM_CONST_DOUBLE (r, x); REAL_VALUE_TO_TARGET_SINGLE (r, l); if (ASSEMBLER_DIALECT == ASM_ATT) putc ('$', file); - fprintf (file, "0x%lx", l); + fprintf (file, "0x%lx", l & 0xffffffff); } /* These float cases don't actually occur as immediate operands. */ else if (GET_CODE (x) == CONST_DOUBLE && GET_MODE (x) == DFmode) { char dstr[30]; real_to_decimal (dstr, CONST_DOUBLE_REAL_VALUE (x), sizeof (dstr), 0, 1); fprintf (file, "%s", dstr); } float fabsf (float); typedef int __int32_t; typedef unsigned int __uint32_t; typedef union { float value; __uint32_t word; } ieee_float_shape_type; extern float __ieee754_expf (float); extern float __ieee754_sinhf (float); static const float one = 1.0, shuge = 1.0e37; float __ieee754_sinhf(float x) { float t,w,h; __int32_t ix,jx; do { ieee_float_shape_type gf_u; gf_u.value = (x); (jx) = gf_u.word; } w hile (0); ix = jx&0x7fffffff; if(ix>=0x7f800000) return x+x; h = 0.5; if (jx<0) h = -h; if (ix < 0x41b00000) { if (ix<0x31800000) if(shuge+x>one) return x; t = expm1f(fabsf(x)); if(ix<0x3f800000) return h*((float)2.0*t-t*t/(t+one)); return h*(t+t/(t+one)); } if (ix < 0x42b17180) return h*__ieee754_expf(fabsf(x)); if (ix<=0x42b2d4fc) { w = __ieee754_expf((float)0.5*fabsf(x)); t = h*w; return t*w; } return x*shuge; } ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/12749] i386 LP64 bug. 2003-10-23 20:42 [Bug target/12749] New: i386 LP64 bug matt at 3am-software dot com @ 2003-10-23 21:27 ` pinskia at gcc dot gnu dot org 2003-12-20 8:36 ` pinskia at gcc dot gnu dot org ` (2 subsequent siblings) 3 siblings, 0 replies; 5+ messages in thread From: pinskia at gcc dot gnu dot org @ 2003-10-23 21:27 UTC (permalink / raw) To: gcc-bugs PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12749 pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed| |1 Keywords| |wrong-code Last reconfirmed|0000-00-00 00:00:00 |2003-10-23 20:48:34 date| | Target Milestone|--- |3.4 ------- Additional Comments From pinskia at gcc dot gnu dot org 2003-10-23 20:48 ------- Agree, but always send your patches to gcc-patches@ first. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/12749] i386 LP64 bug. 2003-10-23 20:42 [Bug target/12749] New: i386 LP64 bug matt at 3am-software dot com 2003-10-23 21:27 ` [Bug target/12749] " pinskia at gcc dot gnu dot org @ 2003-12-20 8:36 ` pinskia at gcc dot gnu dot org 2003-12-20 23:17 ` cvs-commit at gcc dot gnu dot org 2003-12-20 23:32 ` pinskia at gcc dot gnu dot org 3 siblings, 0 replies; 5+ messages in thread From: pinskia at gcc dot gnu dot org @ 2003-12-20 8:36 UTC (permalink / raw) To: gcc-bugs ------- Additional Comments From pinskia at gcc dot gnu dot org 2003-12-20 08:28 ------- This is an obvious patch I will apply it later today. -- What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |pinskia at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12749 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/12749] i386 LP64 bug. 2003-10-23 20:42 [Bug target/12749] New: i386 LP64 bug matt at 3am-software dot com 2003-10-23 21:27 ` [Bug target/12749] " pinskia at gcc dot gnu dot org 2003-12-20 8:36 ` pinskia at gcc dot gnu dot org @ 2003-12-20 23:17 ` cvs-commit at gcc dot gnu dot org 2003-12-20 23:32 ` pinskia at gcc dot gnu dot org 3 siblings, 0 replies; 5+ messages in thread From: cvs-commit at gcc dot gnu dot org @ 2003-12-20 23:17 UTC (permalink / raw) To: gcc-bugs ------- Additional Comments From cvs-commit at gcc dot gnu dot org 2003-12-20 21:56 ------- Subject: Bug 12749 CVSROOT: /cvs/gcc Module name: gcc Changes by: pinskia@gcc.gnu.org 2003-12-20 21:56:48 Modified files: gcc : ChangeLog gcc/testsuite : ChangeLog gcc/config/i386: i386.c Added files: gcc/testsuite/gcc.c-torture/compile: 20031220-2.c Log message: 2003-12-20 Andrew Pinski <pinskia@gcc.gnu.org> Matt Thomas <matt@3am-software.com> PR target/12749 * config/i386/i386.c (print_operand): Print only the first 8 characters of the float in hex. 2003-12-20 Andrew Pinski <pinskia@gcc.gnu.org> PR target/12749 * gcc.c-torture/compile/20031220-2.c: New test case. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.2062&r2=2.2063 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.3292&r2=1.3293 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/compile/20031220-2.c.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.c.diff?cvsroot=gcc&r1=1.624&r2=1.625 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12749 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/12749] i386 LP64 bug. 2003-10-23 20:42 [Bug target/12749] New: i386 LP64 bug matt at 3am-software dot com ` (2 preceding siblings ...) 2003-12-20 23:17 ` cvs-commit at gcc dot gnu dot org @ 2003-12-20 23:32 ` pinskia at gcc dot gnu dot org 3 siblings, 0 replies; 5+ messages in thread From: pinskia at gcc dot gnu dot org @ 2003-12-20 23:32 UTC (permalink / raw) To: gcc-bugs ------- Additional Comments From pinskia at gcc dot gnu dot org 2003-12-20 21:57 ------- Fixed. -- What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12749 ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2003-12-20 21:57 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2003-10-23 20:42 [Bug target/12749] New: i386 LP64 bug matt at 3am-software dot com 2003-10-23 21:27 ` [Bug target/12749] " pinskia at gcc dot gnu dot org 2003-12-20 8:36 ` pinskia at gcc dot gnu dot org 2003-12-20 23:17 ` cvs-commit at gcc dot gnu dot org 2003-12-20 23:32 ` pinskia at gcc dot gnu dot org
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).