https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78176
--- Comment #25 from Thomas De Schampheleire <patrickdepinguin at gmail dot com> --- Is it possible that this same problem is applicable on the 'lwx' instruction? I am using MIPS64 n32. I first saw the original problem as described in this bug with instruction 'lwxc1'. I then used the suggested compilation flag -mno-lxc1-sxc1 which removed that problem. However, in another place in the code I get a SIGBUS on following instruction: lwx v1,a5(v1) where: v1: ffffffffeb623870 a5: ffffffff8a4ee1c4 The exception shows: badvaddr: ffffffff75b11a34 If you sum the lower 32 bits of v1+a5 you get '175b11a34' (i.e. 33 bits). Truncated to 32 bits, this is the value you see in badvaddr. Nevertheless, this address is inside a mapped and read/writable memory range, from /proc/PID/maps: 75b00000-75b21000 rw-p 00000000 00:00 0 This behavior looks very similar to this bug's description. If this same problem indeed also applies to 'lwx', is there a workaround for it?