This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Fix 32/64 bug in ia64 builtins
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- To: gcc-patches at gcc dot gnu dot org
- Date: Tue, 17 Jun 03 09:48:10 EDT
- Subject: Fix 32/64 bug in ia64 builtins
This came up in the VMS port. I don't know why it didn't come up in
the HPUX port. This caused an ICE compiling unwind-ia64.c.
There is no practical way for me to test this since it doesn't apply to the
ia64 Linux/GNU port or (apparently) to the HPUX port and the VMS port is
still a work-in-progress.
2003-06-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* config/ia64/ia64.c (ia64_expand_builtin, case IA64_BUILTIN_BSP):
Handle POINTERS_EXTEND_UNSIGNED.
*** config/ia64/ia64.c 15 Jun 2003 18:01:51 -0000 1.229
--- config/ia64/ia64.c 17 Jun 2003 13:36:32 -0000
*************** ia64_expand_builtin (exp, target, subtar
*** 8254,8257 ****
--- 8254,8260 ----
target = gen_reg_rtx (DImode);
emit_insn (gen_bsp_value (target));
+ #ifdef POINTERS_EXTEND_UNSIGNED
+ target = convert_memory_address (ptr_mode, target);
+ #endif
return target;