[PATCH] D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang

2018-08-10 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits added a comment. Hi Vit, Thanks for the feedback. I can add the -mspe=yes/no, that shouldn't be hard. I didn't include it because it's been deprecated by GCC already as well. I can add the -mcpu=8548 option as well. I use -mcpu=8540 on FreeBSD for the powerpcspe target anyway (GCC

[PATCH] D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang

2018-07-24 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits created this revision. Herald added subscribers: cfe-commits, kbarton, nemanjai. r337347 added support for the Signal Processing Engine (SPE) to LLVM. This follows that up with the clang side. Repository: rC Clang https://reviews.llvm.org/D49754 Files: include/clang/Driver/Options

[PATCH] D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang

2019-01-17 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits added a comment. Hi @vit9696 , 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

[PATCH] D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang

2019-01-17 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits added a comment. Hi @vit9696 it does crash with the linux target (powerpc-gnu-linux), but is fine with powerpc-gnu-freebsd. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D49754/new/ https://reviews.llvm.org/D49754 _

[PATCH] D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang

2019-01-17 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits added a comment. 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 phys

[PATCH] D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang

2019-01-29 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits added a comment. 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. Thanks for all your help! Repository: rC C

[PATCH] D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang

2019-01-29 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits added a comment. @vit9696 sure thing. We'll need to get all these patches in together before any are actually useful. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D49754/new/ https://reviews.llvm.org/D49754 ___

[PATCH] D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang

2018-11-15 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits added a comment. Hi Vit, The register spilling bug is being addressed in https://reviews.llvm.org/D54409 now. Repository: rC Clang https://reviews.llvm.org/D49754 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llv

[PATCH] D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang

2018-11-24 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits added a comment. Hi Vit, I'm unable to reproduce the previous crash with clang8, so for now assuming it's fixed by other events. If that turns out not to be the case, I can revisit it. I am able to reproduce this crash though, so am taking a look. I'm' not quite sure how to interpr

[PATCH] D59185: [PowerPC] Set the default PLT mode on musl to Secure PLT

2019-03-27 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits accepted this revision. jhibbits added a comment. This revision is now accepted and ready to land. Looks fine to me. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D59185/new/ https://reviews.llvm.org/D59185 _

[PATCH] D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang

2019-02-05 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits updated this revision to Diff 185487. jhibbits added a comment. Herald added a project: clang. Add feedback from @vit9696, and VAARG fix from @kthomsen. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D49754/new/ https://reviews.llvm.org/D49754 Files: in

[PATCH] D60335: Use -fomit-frame-pointer when optimizing PowerPC code

2019-07-17 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits accepted this revision. jhibbits added a comment. This revision is now accepted and ready to land. Herald added a subscriber: shchenz. Looks fine to me. Since it can be turned off, I don't see a problem if it causes issues. Repository: rC Clang CHANGES SINCE LAST ACTION https://r

[PATCH] D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang

2019-07-29 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits requested review of this revision. jhibbits added a comment. Should've marked it as need review earlier. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D49754/new/ https://reviews.llvm.org/D49754 ___ cfe-commi

[PATCH] D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang

2019-06-27 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits marked an inline comment as done. jhibbits added inline comments. Comment at: lib/Basic/Targets/PPC.cpp:318 + Features["spe"] = llvm::StringSwitch(CPU) +.Case("e500", true) +.Case("8548", true) vit9696 wro

[PATCH] D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang

2019-06-28 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits added a comment. I'll commit it tonight. Was going to last night, but ran into a clang test failure, that turned out to be a long-standing failure with FreeBSD/powerpc64, not a problem with my change. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D49754

[PATCH] D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang

2019-06-28 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits added a comment. Actually, I'm not yet ready to commit this. I want to enforce the 8548 -> e500 processor model before I call this ready. How do I do that with the mcpu? Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D49754/new/ https://reviews.llvm.org

[PATCH] D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang

2019-06-29 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits updated this revision to Diff 207214. jhibbits added a comment. Made '8548' CPU designation just a stub, to be filled out later. I added it just for parity with GCC. The 8548 CPU, for GCC, also sets the __NO_LWSYNC__ macro, which doesn't belong with the SPE change, so will have to be re

[PATCH] D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang

2018-12-31 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits added a comment. Hi vit, I found what's going on with the "Cannot Select" error. divdc3.c contains code that gets lowered to a libcall. However this lowering doesn't go further to lower down to the legal operations permitted in this target. The debug snippet is: Legalizing: t38: f6

[PATCH] D67787: Add 8548 CPU definition and attributes

2019-09-19 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits added a comment. Herald added a subscriber: wuzish. I made 8548 an alias in clang to e500, because e500 is recognized in llvm as a CPU, so gets us the feature list and, more importantly, the instruction scheduler. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llv

[PATCH] D67787: Add 8548 CPU definition and attributes

2019-09-19 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits created this revision. jhibbits added reviewers: nemanjai, hfinkel, joerg, kthomsen. Herald added subscribers: cfe-commits, jsji, MaskRay, kbarton. Herald added a project: clang. 8548 CPU is GCC's name for the e500v2, so accept this in clang. The e500v2 doesn't support lwsync, so define

[PATCH] D67787: Add 8548 CPU definition and attributes

2019-10-23 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits added a comment. @vit9696 The only thing GCC defines for mcpu=8548 is __NO_LWSYNC__, the SPE-specific #defines are from -mspe. That said, since I explicitly do enable SPE for e500 CPU, I guess it makes sense to add it to the test. Repository: rC Clang CHANGES SINCE LAST ACTION h

[PATCH] D67787: Add 8548 CPU definition and attributes

2019-10-24 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits added a comment. In D67787#1719251 , @vit9696 wrote: > A side note regarding SPE support. I am currently upgrading to LLVM 9.0 and I > discovered that this patch was not committed anyhow at all: > https://reviews.llvm.org/D54583#1444288 Yeah,

[PATCH] D67787: Add 8548 CPU definition and attributes

2019-10-25 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits updated this revision to Diff 226529. jhibbits added a comment. Make 8548 actually denote e500 LLVM target, add SPE checks to 8548 preprocessor test. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67787/new/ https://reviews.llvm.org/D67787

[PATCH] D67787: Add 8548 CPU definition and attributes

2019-10-27 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits updated this revision to Diff 226583. jhibbits added a comment. Don't double-check 8548 CPU for setting LLVM CPU type. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67787/new/ https://reviews.llvm.org/D67787 Files: clang/lib/Basic/Targe

[PATCH] D67787: Add 8548 CPU definition and attributes

2019-10-27 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits marked an inline comment as done. jhibbits added inline comments. Comment at: clang/lib/Driver/ToolChains/Arch/PPC.cpp:61 .Case("a2q", "a2q") +.Case("8548", "e500") +.Case("e500", "e500") vit9696 wrote: > That looks like a typo t

[PATCH] D73290: [PowerPC] Add clang -msvr4-struct-return for 32-bit ELF

2020-04-03 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits edited reviewers, added: jhibbits; removed: chmeee. jhibbits accepted this revision. jhibbits added a comment. This revision is now accepted and ready to land. Code looks fine, and others have tested it. Good to see a reversion of the ABI to expected for GCC compatibility on the BSDs.

[PATCH] D73290: [PowerPC] Add clang -msvr4-struct-return for 32-bit ELF

2020-04-07 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits added a reviewer: nemanjai. jhibbits added a comment. @ZarkoCA I think someone else should also review this, so added @nemanjai as a potential reviewer. He might have more insight to the code in question. I'd like to see this go in soon, though, so that it gets into 11, and we can use

[PATCH] D73290: [PowerPC] Add clang -msvr4-struct-return for 32-bit ELF

2020-04-21 Thread Justin Hibbits via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG4ca2cad947d0: [PowerPC] Add clang -msvr4-struct-return for 32-bit ELF (authored by jhibbits). Changed prior to commit: https://reviews.llvm.org/D73290?vs=239982&id=259143#toc Repository: rG LLVM Gith

[PATCH] D105869: [Driver] fix PowerPC SPE musl dynamic linker name

2021-07-16 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits accepted this revision. jhibbits added a comment. This revision is now accepted and ready to land. Looks fine to me. @nemanjai this one is more Musl, less SPE :) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D105869/new/ https://reviews.ll

[PATCH] D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang

2019-09-05 Thread Justin Hibbits via Phabricator via cfe-commits
This revision was not accepted when it landed; it landed in state "Needs Review". This revision was automatically updated to reflect the committed changes. Closed by commit rL371066: Add -m(no)-spe to clang (authored by jhibbits, committed by ). Herald added a project: LLVM. Herald added a subscr

[PATCH] D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang

2019-09-05 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits added a comment. Not in 9.0, but I will try to push for it in 9.0.1. To others, for posterity, I pushed *only* the SPE subset, not the 8548 CPU component. That will be a separate commit. I wanted it to be more than just a dummy stub, so that part will be a separate commit. The part

[PATCH] D72014: [PowerPC]: Add powerpcspe target triple subarch component

2019-12-30 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits created this revision. jhibbits added a reviewer: PowerPC. Herald added subscribers: llvm-commits, cfe-commits, steven.zhang, shchenz, jsji, dexonsmith, kbarton, hiraditya, krytarowski, arichardson, nemanjai, emaste. Herald added projects: clang, LLVM. This allows the use of '-target po

[PATCH] D72014: [PowerPC]: Add powerpcspe target triple subarch component

2019-12-30 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits updated this revision to Diff 235637. jhibbits added a comment. Fix a test typo made at the last minute. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72014/new/ https://reviews.llvm.org/D72014 Files: clang/lib/Basic/Targets/PPC.cpp c

[PATCH] D72014: [PowerPC]: Add powerpcspe target triple subarch component

2019-12-30 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits marked an inline comment as done. jhibbits added inline comments. Comment at: clang/test/Preprocessor/init.c:7628 +// PPC32-SPE-TGT:#define __SPE__ 1 // // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -target-cpu 8548 < /dev/null | FileChec

[PATCH] D72014: [PowerPC]: Add powerpcspe target triple subarch component

2019-12-30 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits updated this revision to Diff 235668. jhibbits added a comment. Reuse the SPE feature test preprocessor test check instead of duplicating it. powerpcspe-* is exactly equivalent to the -mspe command line argument. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https:/

[PATCH] D72014: [PowerPC]: Add powerpcspe target triple subarch component

2019-12-31 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits updated this revision to Diff 235716. jhibbits added a comment. Add triple unit test. I chose freebsd as the OS since that's my environment. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72014/new/ https://reviews.llvm.org/D72014 Files:

[PATCH] D72014: [PowerPC]: Add powerpcspe target triple subarch component

2020-01-05 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits added a comment. Any more feedback on this? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72014/new/ https://reviews.llvm.org/D72014 ___ cfe-commits mailing list cfe-commits@lists.llvm.org htt

[PATCH] D72014: [PowerPC]: Add powerpcspe target triple subarch component

2020-01-08 Thread Justin Hibbits via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGff0311c4b3b9: [PowerPC]: Add powerpcspe target triple subarch component (authored by chmeee). Changed prior to commit: https://reviews.llvm.org/D72014?vs=235716&id=236937#toc Repository: rG LLVM Gith

[PATCH] D72433: [Driver][PowerPC] Move powerpcspe logic from cc1 to Driver

2020-01-10 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits accepted this revision. jhibbits added a comment. This revision is now accepted and ready to land. Fine with me. I just wanted -target powerpcspe-... to work with D72014 . Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://revie

[PATCH] D67787: Add 8548 CPU definition and attributes

2019-11-09 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits updated this revision to Diff 228589. jhibbits added a comment. Add clang-translation tests for e500 and 8548 CPU definitions. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67787/new/ https://reviews.llvm.org/D67787 Files: clang/lib/Bas

[PATCH] D67787: Add 8548 CPU definition and attributes

2019-11-11 Thread Justin Hibbits via Phabricator via cfe-commits
jhibbits added a comment. @vit9696 mind reviewing again with the added tests? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67787/new/ https://reviews.llvm.org/D67787 ___ cfe-commits mailing list cfe-c

[PATCH] D67787: Add 8548 CPU definition and attributes

2019-11-12 Thread Justin Hibbits via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGbc4bc5aa0d84: Add 8548 CPU definition and attributes (authored by chmeee). Changed prior to commit: https://reviews.llvm.org/D67787?vs=228589&id=228995#toc Repository: rG LLVM Github Monorepo CHANGE