While fixing Clang compilation issues, I noticed additional problematic
constructs in s390x test cases, some of which are uncovered with compiler
optimization options such as -O3:
* `bic.c' relies on an int to be sign-extended when passing it in a
register to an inline-assembly.
* `cksm.c' clobbers a register in an inline assembly without specifying
that.
* `cu12.c' and `cu14.c' read the variable `pattern1' beyond its size.
* `mvst.c' modifies input operands in inline assemblies.
* `srnmb.c' relies on Valgrind's error message for a bad rounding mode to
point to the line number where get_rounding_mode() is called, not to the
function itself.
* `stfle.c' has a code path with an uninitialized variable that may cause
a compiler warning.
* `stmg.c' modifies r15 in an inline assembly and doesn't expect the
compiler to use r15 as the base address for an input operand.
* Various inline assemblies use the "=m" constraint even when the
instruction only supports more restricted address operands.
Fix all of the above. For consistency and clarity, avoid the "=m"
constraint even when it would be applicable.