When compiling Firefox (which uses wasm2c) for MIPS with clang, the following error happens:
```
rlbox.wasm.c:142:1: error: couldn't allocate input reg for constraint 'r'
 DEFINE_LOAD(f32_load, f32, f32, f32)
 ^
 rlbox.wasm.c:128:14: note: expanded from macro 'DEFINE_LOAD'
     wasm_asm("" ::"r"(result));                            \
```

GCC is happy with it, but fundamentally, the asm constraint is wrong (r is for GPRs, and here the result is a floating point value).

Those constraints were added in a7d484ef3d1f64649dd9f48cb1d5434f0fda561b, and the reason given was:
> Preventing load instructions from being optimized away if their value is unused (using inline assembly with an input operand and empty code). This is necessary to f
orce an OOB trap on platforms that use mprotect and the signal handler to detect OOB.

Would using `__attribute__((used))` work instead? Or volatile?
error: couldn't allocate input reg for constraint 'r' on MIPS with clang when compiling wasm2c-generated source
This is a GitHub Issue
repo:wabt
owner:WebAssembly
Title : error: couldn't allocate input reg for constraint 'r' on MIPS with clang when compiling wasm2c-generated source
Issue date:

--- start body ---
When compiling Firefox (which uses wasm2c) for MIPS with clang, the following error happens:
```
rlbox.wasm.c:142:1: error: couldn't allocate input reg for constraint 'r'
 DEFINE_LOAD(f32_load, f32, f32, f32)
 ^
 rlbox.wasm.c:128:14: note: expanded from macro 'DEFINE_LOAD'
     wasm_asm("" ::"r"(result));                            \
```

GCC is happy with it, but fundamentally, the asm constraint is wrong (r is for GPRs, and here the result is a floating point value).

Those constraints were added in a7d484ef3d1f64649dd9f48cb1d5434f0fda561b, and the reason given was:
> Preventing load instructions from being optimized away if their value is unused (using inline assembly with an input operand and empty code). This is necessary to f
orce an OOB trap on platforms that use mprotect and the signal handler to detect OOB.

Would using `__attribute__((used))` work instead? Or volatile?
--- end body ---
