Page MenuHomePhabricator

jhibbits (Justin Hibbits)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 8 2014, 1:26 PM (248 w, 5 d)

Recent Activity

May 11 2019

jhibbits added a comment to D56703: PowerPC: Fix register spilling for SPE registers.

Can you add a test case? At least for the spills that you're adding.

May 11 2019, 10:37 AM · Restricted Project

Apr 29 2019

jhibbits added inline comments to D54409: PowerPC/SPE: Fix load/store handling for SPE.
Apr 29 2019, 7:26 AM · Restricted Project

Apr 24 2019

jhibbits accepted D61026: Fix initial-exec in PIC mode for PPC32.

Looks fine to me.

Apr 24 2019, 1:37 PM · Restricted Project

Apr 2 2019

jhibbits added inline comments to D54583: PowerPC: Optimize SPE double parameter calling setup.
Apr 2 2019, 1:12 PM

Mar 28 2019

jhibbits added a comment to D54583: PowerPC: Optimize SPE double parameter calling setup.

@jhibbits I don't know how to create a new revision here. My idea is to handle this fix via you, as you are already known for the SPE modifications.

Mar 28 2019, 7:22 AM

Mar 27 2019

jhibbits added a comment to D59310: [PowerPC] Fix issue with inline asm - soft float mode.

Can you adjust the summary? This doesn't prevent floating point instructions completely, it only prevents floating point register constraints. The assertion that it prevents all floating point instructions is what I first took issue with, so please make it explicit that this is *only* regarding register constraints.

Mar 27 2019, 8:26 AM · Restricted Project, Restricted Project
jhibbits accepted D59310: [PowerPC] Fix issue with inline asm - soft float mode.

Reading through the diff again, closer, and checking the FreeBSD source, this is acceptable. FreeBSD only uses the base register, and hard-codes register numbers, so doesn't go through float register allocation.

Mar 27 2019, 8:23 AM · Restricted Project, Restricted Project
jhibbits accepted D59185: [PowerPC] Set the default PLT mode on musl to Secure PLT.

Looks fine to me.

Mar 27 2019, 8:15 AM · Restricted Project, Restricted Project
jhibbits added a comment to D54583: PowerPC: Optimize SPE double parameter calling setup.

@kthomsen can you create a new revision just for that diff?

Mar 27 2019, 8:15 AM

Mar 14 2019

jhibbits added a comment to D59310: [PowerPC] Fix issue with inline asm - soft float mode.

I'd like to amend my previous comment: FreeBSD, and I'd guess Linux, too, explicitly builds the kernel with -msoft-float, in order to prevent FPU-consuming optimizations. However, we still need to be able to save and restore FPU context, which requires inline asm (or a completely asm file, not something we want). This change would prevent us being able to do that.

Mar 14 2019, 7:43 AM · Restricted Project, Restricted Project

Mar 13 2019

jhibbits added a comment to D59310: [PowerPC] Fix issue with inline asm - soft float mode.

I really don't like this. It should be possible to mix soft-float, Altivec, VSX, and SPE in the same file using inline asm. I put a check in for SPE codegen specifically to permit inline asm for other floating point models.

Mar 13 2019, 11:16 AM · Restricted Project, Restricted Project

Feb 28 2019

jhibbits updated the diff for D54583: PowerPC: Optimize SPE double parameter calling setup.

Address feedback. Provide full context for diffs.

Feb 28 2019, 10:32 AM
jhibbits updated the diff for D54409: PowerPC/SPE: Fix load/store handling for SPE.

Address feedback. Provide full context for diffs.

Feb 28 2019, 10:32 AM · Restricted Project
jhibbits updated the diff for D56703: PowerPC: Fix register spilling for SPE registers.

Address feedback. Update patch to provide full context.

Feb 28 2019, 10:30 AM · Restricted Project

Feb 19 2019

jhibbits requested review of D54409: PowerPC/SPE: Fix load/store handling for SPE.

I thought this would've been auto-marked as needs review when I updated, but apparently not.

Feb 19 2019, 12:40 PM · Restricted Project

Feb 5 2019

jhibbits updated the diff for D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang.

Add feedback from @vit9696, and VAARG fix from @kthomsen.

Feb 5 2019, 8:36 PM · Restricted Project
jhibbits updated the diff for D54409: PowerPC/SPE: Fix load/store handling for SPE.

Incorporate patch from @kthomsen for handling globals.

Feb 5 2019, 8:31 PM · Restricted Project

Jan 29 2019

jhibbits added a comment to D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang.

@vit9696 sure thing.

Jan 29 2019, 8:02 AM · Restricted Project
jhibbits added a comment to D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang.

Hi Kei, that's fantastic! There's one more thing to add to this, which is to predefine NO_FPRS, and it should be a good replacement for gcc for 90+% of cases. I'll add your changes and this, and resubmit this review.

Jan 29 2019, 7:31 AM · Restricted Project

Jan 23 2019

jhibbits added a comment to D54583: PowerPC: Optimize SPE double parameter calling setup.

Hi @vit9696, it looks like Kei's patch fixes the issue you're seeing as well.

Jan 23 2019, 6:38 PM
jhibbits added a comment to D54583: PowerPC: Optimize SPE double parameter calling setup.

Hi Kei, thanks! I'll gladly add it to one of the patches. It might fit better with D54409, since the purpose of that is to fix the evldd handling in general.

Jan 23 2019, 6:14 PM

Jan 21 2019

jhibbits added a comment to D54583: PowerPC: Optimize SPE double parameter calling setup.

Hi Kei, yes you need the patch in D54409, which fixes the offset handling. It should fix your case as well, but I didn't test foreign addresses.

Jan 21 2019, 9:48 AM

Jan 20 2019

jhibbits updated the diff for D54583: PowerPC: Optimize SPE double parameter calling setup.

One more argument index fixup.

Jan 20 2019, 1:49 PM

Jan 18 2019

jhibbits added a comment to D54583: PowerPC: Optimize SPE double parameter calling setup.

Hi Kei, thanks for that. I've updated my code, and will post an updated diff tomorrow.

Jan 18 2019, 9:38 PM

Jan 17 2019

jhibbits updated the diff for D54583: PowerPC: Optimize SPE double parameter calling setup.

Fix argument indices for indexing through OutVals[]. It should be the argument index, not the physical register index.

Jan 17 2019, 1:00 PM
jhibbits added a comment to D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang.

Hi @vit9696, thanks for that, it was a straightforward fix. I'll post an update shortly for D54583, if arcanist cooperates. The short of it is I need two indices for arguments, since one is for logical arguments the other is for physical register allocation. I was only using 1, based on physical register allocation.

Jan 17 2019, 12:54 PM · Restricted Project
jhibbits added a comment to D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang.

Hi @vit9696 it does crash with the linux target (powerpc-gnu-linux), but is fine with powerpc-gnu-freebsd.

Jan 17 2019, 10:14 AM · Restricted Project
jhibbits added a comment to D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang.

This looks to be caused by using 128-bit long double on the platform. Does linux really use 128-bit long doubles on ppc32? FreeBSD uses 64-bit long double, so compiling that with '-target powerpc-gnu-freebsd' works fine. I'm not sure how to handle the 128-bit values.

Jan 17 2019, 10:01 AM · Restricted Project

Jan 14 2019

jhibbits created D56703: PowerPC: Fix register spilling for SPE registers.
Jan 14 2019, 8:38 PM · Restricted Project
jhibbits updated the diff for D54583: PowerPC: Optimize SPE double parameter calling setup.

Fix expanding builtins to libcalls. Remove the need for intermediate illegal types in expanding and pairing the arguments and return values.

Jan 14 2019, 8:37 PM

Dec 31 2018

jhibbits added a comment to D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang.

Hi vit,

Dec 31 2018, 1:15 PM · Restricted Project

Dec 29 2018

jhibbits added inline comments to D54583: PowerPC: Optimize SPE double parameter calling setup.
Dec 29 2018, 8:24 PM

Nov 24 2018

jhibbits added a comment to D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang.

Hi Vit,

Nov 24 2018, 9:22 AM · Restricted Project

Nov 15 2018

jhibbits added a comment to D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang.

Hi Vit,

Nov 15 2018, 8:40 AM · Restricted Project
jhibbits created D54583: PowerPC: Optimize SPE double parameter calling setup.
Nov 15 2018, 8:38 AM

Nov 11 2018

jhibbits created D54409: PowerPC/SPE: Fix load/store handling for SPE.
Nov 11 2018, 2:58 PM · Restricted Project

Aug 14 2018

jhibbits abandoned D38778: Implement rudimentary support for the PowerPC SPE APU.
Aug 14 2018, 10:39 AM
jhibbits commandeered D38778: Implement rudimentary support for the PowerPC SPE APU.

Yes, yes it is

Aug 14 2018, 10:38 AM

Aug 10 2018

jhibbits added a comment to D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang.

Hi Vit,

Aug 10 2018, 8:28 AM · Restricted Project

Jul 24 2018

jhibbits updated the summary of D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang.
Jul 24 2018, 1:30 PM · Restricted Project
jhibbits created D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang.
Jul 24 2018, 1:27 PM · Restricted Project

Jul 17 2018

jhibbits committed rL337350: Fix build failures from r337347, found by clang.
Fix build failures from r337347, found by clang
Jul 17 2018, 10:24 PM
jhibbits committed rL337347: Introduce codegen for the Signal Processing Engine.
Introduce codegen for the Signal Processing Engine
Jul 17 2018, 9:30 PM
jhibbits closed D44830: Introduce codegen for the Signal Processing Engine.
Jul 17 2018, 9:30 PM
jhibbits committed rL337346: Complete the SPE instruction set patterns.
Complete the SPE instruction set patterns
Jul 17 2018, 9:30 PM
jhibbits closed D44829: Complete the SPE instruction set patterns.
Jul 17 2018, 9:30 PM
jhibbits committed rL337345: Add PowerPC e500(v2) core scheduler and directives..
Add PowerPC e500(v2) core scheduler and directives.
Jul 17 2018, 9:30 PM
jhibbits closed D44828: Add PowerPC e500(v2) core scheduler and directives..
Jul 17 2018, 9:30 PM

Jul 15 2018

jhibbits updated the diff for D44829: Complete the SPE instruction set patterns.

Update diff to fix tests failing at this specific rev. All tests had previously
been run against D44830 instead.

Jul 15 2018, 8:14 PM
jhibbits updated the diff for D44830: Introduce codegen for the Signal Processing Engine.

Update diff to fix a test with the new register order.

Jul 15 2018, 8:02 PM

Apr 27 2018

jhibbits added a comment to D44829: Complete the SPE instruction set patterns.

@joerg ping on this? It's pretty straightforward, so should be an easy review.

Apr 27 2018, 1:52 PM

Apr 22 2018

jhibbits updated the diff for D44830: Introduce codegen for the Signal Processing Engine.

Rebase against newer head. Address several comments.

Apr 22 2018, 8:08 PM

Apr 10 2018

jhibbits added inline comments to D44830: Introduce codegen for the Signal Processing Engine.
Apr 10 2018, 2:54 PM
jhibbits accepted D44921: [PowerPC] Option for secure plt mode.
Apr 10 2018, 2:42 PM

Mar 23 2018

jhibbits accepted D42112: [PowerPC] Secure PLT support.

Looks fine to me.

Mar 23 2018, 12:19 PM
jhibbits created D44830: Introduce codegen for the Signal Processing Engine.
Mar 23 2018, 7:27 AM
jhibbits created D44829: Complete the SPE instruction set patterns.
Mar 23 2018, 7:26 AM
jhibbits created D44828: Add PowerPC e500(v2) core scheduler and directives..
Mar 23 2018, 7:24 AM

Mar 17 2018

jhibbits added a comment to D38778: Implement rudimentary support for the PowerPC SPE APU.

I will attempt to break this up into (slightly) smaller chunks. My current thought is:

  • New instructions, and encoding tests
  • e500 scheduling
  • floating point and ABI
  • intrinsics
  • vector
Mar 17 2018, 12:44 PM

Mar 12 2018

jhibbits added inline comments to D42112: [PowerPC] Secure PLT support.
Mar 12 2018, 11:06 AM
jhibbits added inline comments to D42112: [PowerPC] Secure PLT support.
Mar 12 2018, 7:51 AM

Mar 1 2018

jhibbits added inline comments to D42112: [PowerPC] Secure PLT support.
Mar 1 2018, 10:03 AM

Feb 26 2018

jhibbits added a comment to D38778: Implement rudimentary support for the PowerPC SPE APU.

I just did a search on NXP's website, and it appears the last e500v1-based chip went into production around 2001/2002, and had a Longevity-program lifetime of 10 years (MPC8560), superseded by rev 2.0 of the silicon, which used e500v2. So it appears there are no current e500v1-based SoCs in production at this time. e500v2-based SoCs appear to have another 8 years or so, as the latest one went into the longevity program in 2010, with a 15 year product lifetime.

Feb 26 2018, 10:07 AM

Jan 18 2018

jhibbits accepted D41702: Add SysV Abi for PPC64le.

Looks fine to me. We should eventually add tests for this, for both endians.

Jan 18 2018, 1:36 PM

Jan 9 2018

jhibbits added a comment to D41702: Add SysV Abi for PPC64le.

Hmm.. that complicates things a bit. How badly is it broken, do you estimate? Would it be any better than if we just made your new plugin handle the the big-endian target as well (just a best effort, I'm not asking you to actually test it on that target)?

If the ppc64be FreeBSD target is really broken, and there is no desire to fix it, maybe we should just delete the relevant plugin.

@emaste, @jhibbits: do you know what's the state of ppc64 lldb support in freebsd?

Jan 9 2018, 7:30 AM

Jan 28 2017

jhibbits committed rL293417: Add some Book-E instructions to the asm parser and printer..
Add some Book-E instructions to the asm parser and printer.
Jan 28 2017, 9:07 PM
jhibbits closed D29002: Add some Book-E instructions to the asm parser and printer. by committing rL293417: Add some Book-E instructions to the asm parser and printer..
Jan 28 2017, 9:07 PM

Jan 25 2017

jhibbits added inline comments to D29002: Add some Book-E instructions to the asm parser and printer..
Jan 25 2017, 9:37 AM

Oct 7 2015

jhibbits accepted D13506: Remove unused virtuals from ABISysV_ppc*.

There's nothing to test here short of "Does it compile?" as these functions aren't actually used anywhere. I'm cleaning out dead virtuals in various patches.

Oct 7 2015, 7:34 AM
jhibbits added a comment to D13506: Remove unused virtuals from ABISysV_ppc*.

Backtraces do work now, for ppc at least (ppc64 IIRC still has issues dealing with the function descriptors, but traversing the backchain does work). I can test this after I get my system set up from my move, but if you've tested it either natively or on a core then I'll greenlight it.

Oct 7 2015, 7:14 AM

Feb 25 2015

jhibbits accepted D7835: Handle FreeBSD/arm64 core files.

Looks good to me.

Feb 25 2015, 11:34 AM

Feb 11 2015

jhibbits committed rL228909: Cast EOF to get a proper comparison..
Cast EOF to get a proper comparison.
Feb 11 2015, 9:33 PM
jhibbits committed rL228908: Quiet Coverity.
Quiet Coverity
Feb 11 2015, 9:33 PM
jhibbits closed D7576: Quiet Coverity by committing rL228908: Quiet Coverity.
Feb 11 2015, 9:33 PM
jhibbits retitled D7576: Quiet Coverity from to Quiet Coverity.
Feb 11 2015, 6:25 PM

Feb 8 2015

jhibbits committed rL228549: Fix sorting. Spotted by emaste..
Fix sorting. Spotted by emaste.
Feb 8 2015, 1:36 PM
jhibbits committed rL228548: PowerPC64 host also supports 32-bit binaries, so note it..
PowerPC64 host also supports 32-bit binaries, so note it.
Feb 8 2015, 1:25 PM
jhibbits committed rL228547: Fix off-by-one IsGPR()..
Fix off-by-one IsGPR().
Feb 8 2015, 1:25 PM

Feb 4 2015

jhibbits committed rL228278: Implement initial Altivec support.
Implement initial Altivec support
Feb 4 2015, 11:14 PM
jhibbits closed D7039: Implement initial Altivec support by committing rL228278: Implement initial Altivec support.
Feb 4 2015, 11:13 PM
jhibbits committed rL228277: Add PowerPC FPR access to the process monitor.
Add PowerPC FPR access to the process monitor
Feb 4 2015, 11:12 PM
jhibbits closed D7040: Add PowerPC FPR access to the process monitor by committing rL228277: Add PowerPC FPR access to the process monitor.
Feb 4 2015, 11:12 PM

Jan 31 2015

jhibbits updated the diff for D7039: Implement initial Altivec support.

Updated with fixing the kludge for getting the vector registers.

Jan 31 2015, 10:38 PM
jhibbits updated the diff for D7040: Add PowerPC FPR access to the process monitor.

Diff with full context.

Jan 31 2015, 10:37 PM

Jan 29 2015

jhibbits added a comment to D7039: Implement initial Altivec support.

I'm not familiar with low-level ppc details but overall looks fine to me.

Two minor comments,

  • reg_info->name[0] == 'v' feels somewhat kludgey.
  • We'll need a similar change on x86; I think vregset is probably a sufficiently generic name.
Jan 29 2015, 9:33 AM

Jan 17 2015

jhibbits retitled D7040: Add PowerPC FPR access to the process monitor from to Add PowerPC FPR access to the process monitor.
Jan 17 2015, 11:38 PM
jhibbits retitled D7039: Implement initial Altivec support from to Implement initial Altivec support.
Jan 17 2015, 11:31 PM

Jan 9 2015

jhibbits committed rL225583: Remove some whitespace..
Remove some whitespace.
Jan 9 2015, 11:52 PM
jhibbits committed rL225573: Fully fix Bug #22115..
Fully fix Bug #22115.
Jan 9 2015, 5:58 PM
jhibbits closed D6906: Fully fix Bug #22115. by committing rL225573: Fully fix Bug #22115..
Jan 9 2015, 5:58 PM
jhibbits updated the diff for D6906: Fully fix Bug #22115..

Address hfinkel's comments

Jan 9 2015, 3:51 PM
jhibbits added inline comments to D6906: Fully fix Bug #22115..
Jan 9 2015, 3:26 PM
jhibbits added inline comments to D6906: Fully fix Bug #22115..
Jan 9 2015, 3:26 PM
jhibbits retitled D6906: Fully fix Bug #22115. from to Fully fix Bug #22115..
Jan 9 2015, 2:29 PM

Jan 8 2015

jhibbits committed rL225450: Add saving and restoring of r30 to the prologue and epilogue, respectively.
Add saving and restoring of r30 to the prologue and epilogue, respectively
Jan 8 2015, 7:48 AM
jhibbits closed D6876: Add saving and restoring of r30 to the prologue and epilogue, respectively by committing rL225450: Add saving and restoring of r30 to the prologue and epilogue, respectively.
Jan 8 2015, 7:48 AM
jhibbits updated the diff for D6876: Add saving and restoring of r30 to the prologue and epilogue, respectively.

Address Hal's comments

Jan 8 2015, 7:06 AM

Jan 7 2015

jhibbits retitled D6876: Add saving and restoring of r30 to the prologue and epilogue, respectively from to Add saving and restoring of r30 to the prologue and epilogue, respectively.
Jan 7 2015, 10:21 PM

Dec 17 2014

jhibbits committed rL224494: Add a corresponding '@LOCAL' parse to match r224415..
Add a corresponding '@LOCAL' parse to match r224415.
Dec 17 2014, 7:07 PM
jhibbits added a comment to D6672: Add parsing of 'foo@local"..

Do you want the upper-case variant as well? i.e., foo@LOCAL? That would match the other entries in the switch.

Dec 17 2014, 11:42 AM