A64: Replace a Cmp/Branch sequence by a conditional compare.
authorbaptiste.afsa@arm.com <baptiste.afsa@arm.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 19 Feb 2014 09:37:07 +0000 (09:37 +0000)
committerbaptiste.afsa@arm.com <baptiste.afsa@arm.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 19 Feb 2014 09:37:07 +0000 (09:37 +0000)
R=jochen@chromium.org, ulan@chromium.org

Review URL: https://codereview.chromium.org/169403003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/a64/regexp-macro-assembler-a64.cc

index 00558c0..b162b38 100644 (file)
@@ -363,11 +363,9 @@ void RegExpMacroAssemblerA64::CheckNotBackReferenceIgnoreCase(
     __ B(ls, &loop_check);  // In range 'a'-'z'.
     // Latin-1: Check for values in range [224,254] but not 247.
     __ Sub(w10, w10, 224 - 'a');
-    // TODO(jbramley): Use Ccmp here.
     __ Cmp(w10, 254 - 224);
-    __ B(hi, &fail);  // Weren't Latin-1 letters.
-    __ Cmp(w10, 247 - 224);  // Check for 247.
-    __ B(eq, &fail);
+    __ Ccmp(w10, 247 - 224, ZFlag, ls);  // Check for 247.
+    __ B(eq, &fail);  // Weren't Latin-1 letters.
 
     __ Bind(&loop_check);
     __ Cmp(capture_start_address, capture_end_addresss);