This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/29714] internal compiler error: in extract_insn, at recog.c:2084
- From: "phil dot sidler at attachmate dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 6 Nov 2006 20:18:10 -0000
- Subject: [Bug target/29714] internal compiler error: in extract_insn, at recog.c:2084
- References: <bug-29714-13515@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #5 from phil dot sidler at attachmate dot com 2006-11-06 20:18 -------
Recreated with the following
#include <stdint.h>
main()
{
uint8_t area = 1;
uint8_t oldval;
uint8_t res;
oldval = area;
res = __sync_val_compare_and_swap(&area, oldval, 128);
}
Note that constant values less that 128 in the 3rd parameter work OK.
Casting the 3rd parameter to be unsigned does not work.
Using a temporary variable instead of a constant does work, but only with
optimization turned off.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29714