i386.md (iptrsize): New mode attribute.
authorUros Bizjak <ubizjak@gmail.com>
Mon, 6 Sep 2010 06:43:54 +0000 (08:43 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Mon, 6 Sep 2010 06:43:54 +0000 (08:43 +0200)
commitd1e74401c1f2e86cbcdb7e013bba40fe6cc96b78
treef202f25b0e3e69cb976f9622a269ae05e3086577
parent195a95c4300bd699e86aae541119b3b41b407e38
i386.md (iptrsize): New mode attribute.

* config/i386/i386.md (iptrsize): New mode attribute.
(tp_seg): Ditto.
(*load_tp_<mode>): Macroize insn from *load_tp_{si,di} using P
mode iterator.
(*add_tp_<mode>): Ditto from *add_tp_{si,di}.
(stack_protect_set_<mode>): Ditto from stack_protect_set_{si,di}.
(stack_protect_test_<mode>): Ditto from stack_protect_test_{si,di}.
(stack_tls_protect_set_<mode>): Ditto from
stack_tls_protect_set_{si,di}.  Use %@ to output segment register
of thread base pointer load.
(stack_tls_protect_test_<mode>): Ditto from
stack_tls_protect_test_{si,di}.  Use %@ to output segment register
of thread base pointer load.
(stack_protect_set): Rewrite using indirect functions.
(stack_protect_test): Ditto.
* config/i386/i386.c (ix86_print_operand_punct_valid): Add '@'.
(ix86_print_operand): Handle '@'.

From-SVN: r163900
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/i386.md