Benedikt Meurer
3aa206b865
[turbofan] Turn Math.clz32 into an inlinable builtin.
...
R=dcarney@chromium.org , yangguo@chromium.org
BUG=v8:3952
LOG=n
Review URL: https://codereview.chromium.org/1021183002
Cr-Commit-Position: refs/heads/master@{#27329}
2015-03-20 08:37:34 +00:00
jacob.bramley
3fdfe613f8
[ARM64] [turbofan] Support uxtb/uxth for add/sub.
...
Add support for appending extend modes uxtb or uxth to add and subtract
instructions, and using them in the instruction selector.
BUG=
Review URL: https://codereview.chromium.org/1021533002
Cr-Commit-Position: refs/heads/master@{#27303}
2015-03-19 12:44:23 +00:00
bmeurer
0f783c676b
[turbofan] Fix bogus covering of Word64Equal w/ zero.
...
Review URL: https://codereview.chromium.org/960783002
Cr-Commit-Position: refs/heads/master@{#26870}
2015-02-26 07:18:42 +00:00
baptiste.afsa
51f3c66b64
[turbofan] Allow 0.0 as immediate for floating-point comparison on arm/arm64.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/850073002
Cr-Commit-Position: refs/heads/master@{#26066}
2015-01-15 06:31:07 +00:00
bmeurer
c24220c0c1
[turbofan] Improve code generation for unordered comparisons.
...
TEST=cctest,unittests
Review URL: https://codereview.chromium.org/850653002
Cr-Commit-Position: refs/heads/master@{#26034}
2015-01-13 08:42:02 +00:00
baptiste.afsa
49baecc42b
[turbofan] Mark arm64 cbz/cbnz tbz/tbnz instructions as branch instructions.
...
The instruction selector now selects pseudo instructions: CompareAndBranch or
TestAndBranch which are associated with their continuations so that generic
code in the code generator will treat them as branch instruction and will be
able to apply optimization like avoiding branches when the code can falltrhough.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/798553002
Cr-Commit-Position: refs/heads/master@{#25773}
2014-12-11 12:45:33 +00:00
baptiste.afsa
9b5c279b9f
[turbofan] Recognize sign extension of 8-bit and 16-bit values on arm64.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/730183005
Cr-Commit-Position: refs/heads/master@{#25475}
2014-11-24 11:00:15 +00:00
baptiste.afsa@arm.com
ad815be7d5
[turbofan] Use cbz/cbnz when possible on arm64.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/715433004
Cr-Commit-Position: refs/heads/master@{#25288}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 10:06:46 +00:00
baptiste.afsa@arm.com
57ae54203c
[turbofan][arm64] Optimize shifts combined with truncations or extensions.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/705983002
Cr-Commit-Position: refs/heads/master@{#25210}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25210 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 09:56:17 +00:00
baptiste.afsa@arm.com
bb78f231ab
[turbofan] Select tbz/tbnz when possible on ARM64.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/697653002
Cr-Commit-Position: refs/heads/master@{#25063}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 10:29:11 +00:00
baptiste.afsa@arm.com
df312d90f0
[turbofan] Bug fix in arm64 ubfx selection.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/687193002
Cr-Commit-Position: refs/heads/master@{#24989}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24989 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 16:47:45 +00:00
baptiste.afsa@arm.com
3901244107
[arm64] Turn Word64And into tst instruction when possible.
...
Also add corresponding unit tests.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/684813004
Cr-Commit-Position: refs/heads/master@{#24974}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24974 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 10:51:46 +00:00
baptiste.afsa@arm.com
878ff91c8f
[arm64] Use logical immediates when matching tst instructions.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/668633003
Cr-Commit-Position: refs/heads/master@{#24882}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 15:29:44 +00:00
bmeurer@chromium.org
81877a6440
[turbofan] Optimize division/modulus by constant.
...
TEST=cctest,mjsunit,unittests
R=dcarney@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/654833002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 11:57:06 +00:00
baptiste.afsa@arm.com
573ca15f48
[turbofan] Add support for shifted and rotated operands on ARM64.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/642923003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24591 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 09:28:53 +00:00
bmeurer@chromium.org
f0452e2193
[turbofan] Add support for ARM64 Ubfx
...
Support selecting Ubfx for shift-mask and mask-shift operations. Also, rename
the shifts to match the instruction names.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/633123002
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 09:18:31 +00:00
m.m.capewell@googlemail.com
b662e754ae
[turbofan] Negated immediates for ARM64 add/sub
...
Add ARM64 instruction selector support for negating the sense of an arithmetic
instruction when its immediate is negative.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/610323004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-06 10:39:23 +00:00
titzer@chromium.org
c1d79db81b
Rename Int32{UMod,UDiv} to Uint32{Div,Mod} and Int64{UMod,UDiv} to Uint64{Div,Mod}.
...
R=bmeurer@chromium.org , mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/620773003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 10:39:11 +00:00
bmeurer@chromium.org
bfd37ab267
Move unit tests to test/unittests.
...
As per discussion on the V8 team, this is the place we want them to live,
not following the Chrome Style Guide for this.
BUG=v8:3489
LOG=y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/615393002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 08:34:25 +00:00