Thank you for the bug report. I've confirmed this with gcc-linaro-4.7-2012.09 on ARM:
arm-linux-gnueabihf-gcc -c -g cluster.ii cluster.cc: In member function ‘bool rpc::node::set_role(rpc::role_type)’: cluster.cc:88:1: error: unrecognizable insn: (insn 16 15 17 3 (parallel [ (set (reg:CC_Z 24 cc) (unspec_volatile:CC_Z [ (const_int 0 [0]) ] VUNSPEC_ATOMIC_CAS)) (set (reg:SI 146) (zero_extend:SI (mem/v:HI (reg/f:SI 134 [ D.146641 ]) [-1 S2 A16]))) (set (mem/v:HI (reg/f:SI 134 [ D.146641 ]) [-1 S2 A16]) (unspec_volatile:HI [ (reg:HI 147) (subreg/s/u:HI (reg:SI 135 [ D.146642 ]) 0) (const_int 0 [0]) (const_int 5 [0x5]) (const_int 5 [0x5]) ] VUNSPEC_ATOMIC_CAS)) (clobber (scratch:SI)) ]) cluster.cc:87 -1 (nil)) cluster.cc:88:1: internal compiler error: in extract_insn, at recog.c:2123 Please submit a full bug report, with preprocessed source if appropriate. See <https://bugs.launchpad.net/gcc-linaro> for instructions.
Thank you for the bug report. I've confirmed this with gcc-linaro- 4.7-2012. 09 on ARM:
arm-linux- gnueabihf- gcc -c -g cluster.ii :set_role( rpc::role_ type)’:
(unspec_ volatile: CC_Z [
(const_ int 0 [0])
] VUNSPEC_ ATOMIC_ CAS))
(zero_ extend: SI (mem/v:HI (reg/f:SI 134 [ D.146641 ]) [-1 S2 A16])))
(unspec_ volatile: HI [
(reg: HI 147)
(subreg/ s/u:HI (reg:SI 135 [ D.146642 ]) 0)
(const_ int 0 [0])
(const_ int 5 [0x5])
(const_ int 5 [0x5])
] VUNSPEC_ ATOMIC_ CAS))
(clobber (scratch:SI)) /bugs.launchpad .net/gcc- linaro> for instructions.
cluster.cc: In member function ‘bool rpc::node:
cluster.cc:88:1: error: unrecognizable insn:
(insn 16 15 17 3 (parallel [
(set (reg:CC_Z 24 cc)
(set (reg:SI 146)
(set (mem/v:HI (reg/f:SI 134 [ D.146641 ]) [-1 S2 A16])
]) cluster.cc:87 -1
(nil))
cluster.cc:88:1: internal compiler error: in extract_insn, at recog.c:2123
Please submit a full bug report,
with preprocessed source if appropriate.
See <https:/