Restore FPCR after modifying it in a test.
In particular, the test changed the rounding mode, which caused another
test to fail when run on AArch64 hardware with --run-all.
diff --git a/test/aarch64/test-assembler-aarch64.cc b/test/aarch64/test-assembler-aarch64.cc
index 5d84916..a1543a7 100644
--- a/test/aarch64/test-assembler-aarch64.cc
+++ b/test/aarch64/test-assembler-aarch64.cc
@@ -7131,6 +7131,9 @@
__ Cinc(x7, x7, hs); // C
__ Cinc(x7, x7, vc); // !V
+ Register old_fpcr = x15;
+ __ Mrs(old_fpcr, FPCR);
+
// All core FPCR fields must be writable.
__ Mov(x8, fpcr_core);
__ Msr(FPCR, x8);
@@ -7165,6 +7168,8 @@
__ Mrs(x10, FPCR);
#endif
+ __ Msr(FPCR, old_fpcr);
+
END();
if (CAN_RUN()) {