This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
x86 earlyclobber and matching constraints
- To: egcs at egcs dot cygnus dot com
- Subject: x86 earlyclobber and matching constraints
- From: John Wehle <john at feith dot com>
- Date: Mon, 12 Apr 1999 17:37:10 -0400 (EDT)
How should you describe a situation where the input and
output operands must match in addition to the output being an
earlyclobber? Currently the x86 has:
(define_insn "ashrdi3_const_int"
[(set (match_operand:DI 0 "register_operand" "=&r")
(ashiftrt:DI (match_operand:DI 1 "register_operand" "0")
(match_operand:QI 2 "const_int_operand" "J")))]
"CONST_OK_FOR_LETTER_P (INTVAL (operands[2]), 'J')"
What actually happens is that the highpart is shifted into the lowpart
and then the highpart is shifted by itself. Isn't specifying an earlyclobber
on a matching constraint confusing since it says that the output register
can not overlap the input in addition to saying the input and output must
match? Should the earlyclobber be dropped?
-- John
-------------------------------------------------------------------------
| Feith Systems | Voice: 1-215-646-8000 | Email: john@feith.com |
| John Wehle | Fax: 1-215-540-5495 | |
-------------------------------------------------------------------------