Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(778)

Unified Diff: test/cctest/test-assembler-a64.cc

Issue 164793003: A64: Use a scope utility to allocate scratch registers. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: test/cctest/test-assembler-a64.cc
diff --git a/test/cctest/test-assembler-a64.cc b/test/cctest/test-assembler-a64.cc
index cb5a0b22474e16967524c979e4224d50449d3027..24eff1a945e7fb100f0919f43d1ca75c97c0368b 100644
--- a/test/cctest/test-assembler-a64.cc
+++ b/test/cctest/test-assembler-a64.cc
@@ -5612,51 +5612,56 @@ TEST(fcmp) {
// Some of these tests require a floating-point scratch register assigned to
// the macro assembler, but most do not.
- __ SetFPScratchRegister(NoFPReg);
-
- __ Fmov(s8, 0.0);
- __ Fmov(s9, 0.5);
- __ Mov(w18, 0x7f800001); // Single precision NaN.
- __ Fmov(s18, w18);
-
- __ Fcmp(s8, s8);
- __ Mrs(x0, NZCV);
- __ Fcmp(s8, s9);
- __ Mrs(x1, NZCV);
- __ Fcmp(s9, s8);
- __ Mrs(x2, NZCV);
- __ Fcmp(s8, s18);
- __ Mrs(x3, NZCV);
- __ Fcmp(s18, s18);
- __ Mrs(x4, NZCV);
- __ Fcmp(s8, 0.0);
- __ Mrs(x5, NZCV);
- __ SetFPScratchRegister(d0);
- __ Fcmp(s8, 255.0);
- __ SetFPScratchRegister(NoFPReg);
- __ Mrs(x6, NZCV);
+ {
+ UseScratchRegisterScope temps(&masm);
+ temps.ExcludeAll();
+ temps.Include(ip0, ip1);
+
+ __ Fmov(s8, 0.0);
+ __ Fmov(s9, 0.5);
+ __ Mov(w18, 0x7f800001); // Single precision NaN.
+ __ Fmov(s18, w18);
+
+ __ Fcmp(s8, s8);
+ __ Mrs(x0, NZCV);
+ __ Fcmp(s8, s9);
+ __ Mrs(x1, NZCV);
+ __ Fcmp(s9, s8);
+ __ Mrs(x2, NZCV);
+ __ Fcmp(s8, s18);
+ __ Mrs(x3, NZCV);
+ __ Fcmp(s18, s18);
+ __ Mrs(x4, NZCV);
+ __ Fcmp(s8, 0.0);
+ __ Mrs(x5, NZCV);
+ temps.Include(d0);
+ __ Fcmp(s8, 255.0);
+ temps.Exclude(d0);
+ __ Mrs(x6, NZCV);
+
+ __ Fmov(d19, 0.0);
+ __ Fmov(d20, 0.5);
+ __ Mov(x21, 0x7ff0000000000001UL); // Double precision NaN.
+ __ Fmov(d21, x21);
+
+ __ Fcmp(d19, d19);
+ __ Mrs(x10, NZCV);
+ __ Fcmp(d19, d20);
+ __ Mrs(x11, NZCV);
+ __ Fcmp(d20, d19);
+ __ Mrs(x12, NZCV);
+ __ Fcmp(d19, d21);
+ __ Mrs(x13, NZCV);
+ __ Fcmp(d21, d21);
+ __ Mrs(x14, NZCV);
+ __ Fcmp(d19, 0.0);
+ __ Mrs(x15, NZCV);
+ temps.Include(d0);
+ __ Fcmp(d19, 12.3456);
+ temps.Exclude(d0);
+ __ Mrs(x16, NZCV);
+ }
- __ Fmov(d19, 0.0);
- __ Fmov(d20, 0.5);
- __ Mov(x21, 0x7ff0000000000001UL); // Double precision NaN.
- __ Fmov(d21, x21);
-
- __ Fcmp(d19, d19);
- __ Mrs(x10, NZCV);
- __ Fcmp(d19, d20);
- __ Mrs(x11, NZCV);
- __ Fcmp(d20, d19);
- __ Mrs(x12, NZCV);
- __ Fcmp(d19, d21);
- __ Mrs(x13, NZCV);
- __ Fcmp(d21, d21);
- __ Mrs(x14, NZCV);
- __ Fcmp(d19, 0.0);
- __ Mrs(x15, NZCV);
- __ SetFPScratchRegister(d0);
- __ Fcmp(d19, 12.3456);
- __ SetFPScratchRegister(NoFPReg);
- __ Mrs(x16, NZCV);
END();
RUN();

Powered by Google App Engine
This is Rietveld 408576698