diff options
author | Federico G. Schwindt <fgsch@cvs.openbsd.org> | 2002-03-07 09:44:08 +0000 |
---|---|---|
committer | Federico G. Schwindt <fgsch@cvs.openbsd.org> | 2002-03-07 09:44:08 +0000 |
commit | ac4e86585428efb96399370183ae8c75f91c3d56 (patch) | |
tree | efea8552c4510e0960460a9b6a7672d852ad82ad /gnu/egcs/gcc | |
parent | 4dc31b76967b7cb8d51dd7c0d244bb6ea785085a (diff) |
From NetBSD: Fix evil bitfield bug; hugh@ ok
Diffstat (limited to 'gnu/egcs/gcc')
-rw-r--r-- | gnu/egcs/gcc/config/vax/vax.md | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/gnu/egcs/gcc/config/vax/vax.md b/gnu/egcs/gcc/config/vax/vax.md index f18df5e722a..f49b643dd19 100644 --- a/gnu/egcs/gcc/config/vax/vax.md +++ b/gnu/egcs/gcc/config/vax/vax.md @@ -1524,18 +1524,7 @@ "" "* { - if (GET_CODE (operands[0]) != REG || GET_CODE (operands[2]) != CONST_INT - || GET_CODE (operands[3]) != CONST_INT - || INTVAL (operands[2]) + INTVAL (operands[3]) > 32 - || side_effects_p (operands[1]) - || (GET_CODE (operands[1]) == MEM - && mode_dependent_address_p (XEXP (operands[1], 0)))) - return \"extzv %3,%2,%1,%0\"; - if (INTVAL (operands[2]) == 8) - return \"rotl %R3,%1,%0\;movzbl %0,%0\"; - if (INTVAL (operands[2]) == 16) - return \"rotl %R3,%1,%0\;movzwl %0,%0\"; - return \"rotl %R3,%1,%0\;bicl2 %M2,%0\"; + return \"extzv %3,%2,%1,%0\"; }") (define_expand "insv" |