Commit 10a25232 by Richard Henderson Committed by Richard Henderson

alpha.md (extzv): Don't reject register operands.

* alpha.md (extzv): Don't reject register operands.  Fix
mode of operand 1.

From-SVN: r18676
parent 99d1a24c
Wed Mar 18 16:20:30 1998 Richard Henderson <rth@cygnus.com>
* alpha.md (extzv): Don't reject register operands. Fix
mode of operand 1.
Wed Mar 18 16:14:23 1998 Richard Henderson <rth@cygnus.com> Wed Mar 18 16:14:23 1998 Richard Henderson <rth@cygnus.com>
* dbxout.c (dbxout_function_end): Fix last change. The correct * dbxout.c (dbxout_function_end): Fix last change. The correct
......
...@@ -4873,28 +4873,27 @@ ...@@ -4873,28 +4873,27 @@
(define_expand "extzv" (define_expand "extzv"
[(set (match_operand:DI 0 "register_operand" "") [(set (match_operand:DI 0 "register_operand" "")
(zero_extract:DI (match_operand:QI 1 "memory_operand" "") (zero_extract:DI (match_operand:DI 1 "memory_operand" "")
(match_operand:DI 2 "immediate_operand" "") (match_operand:DI 2 "immediate_operand" "")
(match_operand:DI 3 "immediate_operand" "")))] (match_operand:DI 3 "immediate_operand" "")))]
"" ""
" "
{ {
/* We can do 16, 32 and 64 bit fields, if aligned on byte boundaries. */ /* We can do 8, 16, 32 and 64 bit fields, if aligned on byte boundaries. */
if (INTVAL (operands[3]) % 8 != 0 if (INTVAL (operands[2]) % 8 != 0 || INTVAL (operands[3]) % 8 != 0)
|| (INTVAL (operands[2]) != 16
&& INTVAL (operands[2]) != 32
&& INTVAL (operands[2]) != 64))
FAIL; FAIL;
/* From mips.md: extract_bit_field doesn't verify that our source if (GET_CODE (operands[1]) == MEM)
matches the predicate, so we force it to be a MEM here. */ {
if (GET_CODE (operands[1]) != MEM) /* Fail 8 bit fields, falling back on a simple byte load. */
FAIL; if (INTVAL (operands[2]) == 8)
FAIL;
alpha_expand_unaligned_load (operands[0], operands[1], alpha_expand_unaligned_load (operands[0], operands[1],
INTVAL (operands[2]) / 8, INTVAL (operands[2]) / 8,
INTVAL (operands[3]) / 8, 0); INTVAL (operands[3]) / 8, 0);
DONE; DONE;
}
}") }")
(define_expand "insv" (define_expand "insv"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment