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

Issue 1356283003: [arm64] Optimize fcmp when lhs operand is #0.0 (Closed)

Created:
5 years, 3 months ago by Pierre Langlois
Modified:
5 years, 3 months ago
Reviewers:
Benedikt Meurer, ulan
CC:
v8-reviews_googlegroups.com, jbramley
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[arm64] Optimize fcmp when lhs operand is #0.0 This patch checks the type of the lhs operand of a floating point comparison, and commutes the operands if it is #0.0. It allows us to optimize a comparison with zero, as the fcmp instruction accepts #0.0 as rhs operand. Code before for "0.0 < 0.123": ------------------------------ fmov d1, xzr ldr d0, pc+96 fcmp d1, d0 b.lo #+0xc Code after: ----------- ldr d0, pc+92 fcmp d0, #0.0 b.gt #+0xc Before this patch, we used unsigned condition codes for floating point comparisons, but the unordered case was not correctly commuted. Committed: https://crrev.com/e28ae8ca8aedd1c33cfae20b822b42b21457d183 Cr-Commit-Position: refs/heads/master@{#30881}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+160 lines, -62 lines) Patch
M src/compiler/arm/code-generator-arm.cc View 1 chunk +1 line, -2 lines 0 comments Download
M src/compiler/arm64/code-generator-arm64.cc View 1 chunk +16 lines, -0 lines 0 comments Download
M src/compiler/arm64/instruction-selector-arm64.cc View 6 chunks +17 lines, -9 lines 0 comments Download
M src/compiler/ia32/code-generator-ia32.cc View 2 chunks +6 lines, -0 lines 0 comments Download
M src/compiler/instruction.cc View 2 chunks +64 lines, -0 lines 0 comments Download
M src/compiler/instruction-codes.h View 3 chunks +12 lines, -2 lines 0 comments Download
M src/compiler/instruction-selector-impl.h View 1 chunk +1 line, -35 lines 0 comments Download
M src/compiler/ppc/code-generator-ppc.cc View 1 chunk +1 line, -2 lines 0 comments Download
M src/compiler/x64/code-generator-x64.cc View 2 chunks +6 lines, -0 lines 0 comments Download
M src/compiler/x87/code-generator-x87.cc View 2 chunks +6 lines, -0 lines 0 comments Download
M test/unittests/compiler/arm64/instruction-selector-arm64-unittest.cc View 3 chunks +30 lines, -12 lines 0 comments Download

Messages

Total messages: 7 (2 generated)
Pierre Langlois
5 years, 3 months ago (2015-09-22 16:33:50 UTC) #2
Benedikt Meurer
Indeed, we were kinda sloppy with commuting the unordered comparisons. Thanks for cleaning that up. ...
5 years, 3 months ago (2015-09-22 17:34:44 UTC) #3
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1356283003/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1356283003/1
5 years, 3 months ago (2015-09-23 09:10:05 UTC) #5
commit-bot: I haz the power
Committed patchset #1 (id:1)
5 years, 3 months ago (2015-09-23 09:33:31 UTC) #6
commit-bot: I haz the power
5 years, 3 months ago (2015-09-23 09:33:40 UTC) #7
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/e28ae8ca8aedd1c33cfae20b822b42b21457d183
Cr-Commit-Position: refs/heads/master@{#30881}

Powered by Google App Engine
This is Rietveld 408576698