ia64.c (ia64_expand_builtin, [...]): Handle POINTERS_EXTEND_UNSIGNED.
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>
Tue, 17 Jun 2003 13:40:37 +0000 (13:40 +0000)
committerRichard Kenner <kenner@gcc.gnu.org>
Tue, 17 Jun 2003 13:40:37 +0000 (09:40 -0400)
* config/ia64/ia64.c (ia64_expand_builtin, case IA64_BUILTIN_BSP):
Handle POINTERS_EXTEND_UNSIGNED.

From-SVN: r68083

gcc/ChangeLog
gcc/config/ia64/ia64.c

index 114ffd81e487c7371c00da8328a57b6c373c2dc7..1dfed6281e933e6e882ad97c345be37990132db7 100644 (file)
@@ -1,3 +1,8 @@
+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.
+
 2003-06-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
        * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
index b7f9b289caa7cbb154ffabfa6a655ac118e3ed2b..dd9426870fbe0b5d4ceae302b2d7447bfe5298ee 100644 (file)
@@ -8253,6 +8253,9 @@ ia64_expand_builtin (exp, target, subtarget, mode, ignore)
       if (! target || ! register_operand (target, DImode))
        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;
 
     case IA64_BUILTIN_FLUSHRS: