blob: 28d6631a8b4a0d07da65d849a127dcb1e73d983e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
2000-10-31 Jakub Jelinek <jakub@redhat.com>
* emit-rtl.c (operand_subword): Return const0_rtx if looking for a
word outside of OP.
--- gcc/emit-rtl.c.jj Mon Oct 30 23:54:06 2000
+++ gcc/emit-rtl.c Tue Oct 31 22:03:34 2000
@@ -1573,11 +1573,15 @@ operand_subword (op, offset, validate_ad
if (mode == VOIDmode)
abort ();
- /* If OP is narrower than a word or if we want a word outside OP, fail. */
+ /* If OP is narrower than a word, fail. */
if (mode != BLKmode
- && (GET_MODE_SIZE (mode) < UNITS_PER_WORD
- || (offset + 1) * UNITS_PER_WORD > GET_MODE_SIZE (mode)))
+ && (GET_MODE_SIZE (mode) < UNITS_PER_WORD))
return 0;
+
+ /* If we want a word outside OP, return zero. */
+ if (mode != BLKmode
+ && (offset + 1) * UNITS_PER_WORD > GET_MODE_SIZE (mode))
+ return const0_rtx;
switch (GET_CODE (op))
{
|