Page MenuHomePhabricator
Feed Advanced Search

Tue, Aug 6

stefanp created D65820: [PowerPC] PPC LLD buildbot test instability fix..
Tue, Aug 6, 12:04 PM

Fri, Jul 19

stefanp accepted D64220: [PowerPC] Remove redundant load immediate instructions.

I only have a number of very minor comments. Overall I think this looks good.
I think you can fix the comments when you commit.

Fri, Jul 19, 2:40 PM · Restricted Project

Jul 9 2019

stefanp added a comment to D64221: [zorg] Use https for svn-test-suite stage of buildbot.

@gkistanova
Hi Galina,
We are having intermittent svn failures on our lnt build bot as a result of this http vs. https issue. (The bot: http://lab.llvm.org:8011/builders/clang-ppc64be-linux-lnt)
Would it be possible to take a look at this patch because we think that this will fix our bot.
Thank you!

Jul 9 2019, 10:16 AM · Restricted Project, Restricted Project

Jul 8 2019

stefanp closed D57752: [PowerPC] [Buildbots] Do not build shared libs for the PowerPC LLD buildbot.

Committed by this patch:

commit 0a4f7b2312b55e8f3144cbb9e658bc37cc4fc779
Author: Galina Kistanova <gkistanova@gmail.com>
Date:   Mon Feb 25 20:19:36 2019 +0000
Jul 8 2019, 2:27 PM

Jul 5 2019

stefanp accepted D63654: [AIX] Add call lowering for parameters that could pass onto FPRs.

LGTM.

Jul 5 2019, 8:13 PM · Restricted Project
stefanp added a comment to D63547: [AIX]Global Address Lowering.

You have convinced me that this will only affect AIX. I only have minor comments remaining.

Jul 5 2019, 8:11 PM · Restricted Project

Jul 3 2019

stefanp updated subscribers of D63547: [AIX]Global Address Lowering.

I feel like this is supposed to be an AIX only patch.
However, there are some cases where you are making changes to PowerPC platforms that are not AIX. I don't know if those changes are safe.
I'm going to add two people to the review who may be interested in this and who work on 32 Bit PowerPC.

Jul 3 2019, 12:16 PM · Restricted Project

May 27 2019

stefanp added a comment to D61694: Boilerplate for producing XCOFF object files from the PowerPC backend..

I'm not super familiar with the MC layer but overall this looks good to me.
I have a couple of minor comments.

May 27 2019, 10:38 AM · Restricted Project

May 24 2019

stefanp committed rG522307fa40da: [PowerPC] Remove CRBits Copy Of Unset/set CBit (authored by stefanp).
[PowerPC] Remove CRBits Copy Of Unset/set CBit
May 24 2019, 5:04 AM
stefanp committed rL361632: [PowerPC] Remove CRBits Copy Of Unset/set CBit.
[PowerPC] Remove CRBits Copy Of Unset/set CBit
May 24 2019, 5:03 AM
stefanp closed D62044: [PowerPC] Remove CRBits Copy Of Unset/set CBit.
May 24 2019, 5:03 AM · Restricted Project

May 2 2019

stefanp accepted D60037: [PowerPC] Use the two-constant NR algorithm for refining estimates.

I only have one comment here and I think it can be fixed when the patch is committed.
LGTM.

May 2 2019, 11:10 AM · Restricted Project
stefanp accepted D60402: [PowerPC] Collapse RLDICL/RLDICR into RLDIC when possible.

LGTM.
The one very minor comment I have I think can be addressed on commit.

May 2 2019, 10:53 AM · Restricted Project

Apr 16 2019

stefanp added a comment to D60037: [PowerPC] Use the two-constant NR algorithm for refining estimates.

I have a couple of nits. The main one being the test case for fma-mutate.ll.
I'm not sure if there is a way to use one const NR for just that one test.

Apr 16 2019, 10:57 AM · Restricted Project

Apr 15 2019

stefanp accepted D59843: [PowerPC] Add support for __dcbf builtin.

Looks good to me.
Then only thing I noticed was that in the description in the LanguageExtensions.rst file you use plural to refer to the chache builtins. Of course, you only added one builtin but I know that in the future you plan to add more builtins of the same type so I wouldn't worry about that wording now.

Apr 15 2019, 11:00 AM · Restricted Project, Restricted Project

Apr 12 2019

stefanp requested changes to D60402: [PowerPC] Collapse RLDICL/RLDICR into RLDIC when possible.

The patch does what we want it to do in most cases (including the example that motivated it) but some boundary conditions need to be considered before it is safe in all cases.

Apr 12 2019, 7:43 AM · Restricted Project

Apr 2 2019

stefanp committed rGfa6cd5ceb922: [PowerPC] Fix reversed bit issue in DCMX mask for "xvtstdcdp" and "xvtstdcsp"… (authored by stefanp).
[PowerPC] Fix reversed bit issue in DCMX mask for "xvtstdcdp" and "xvtstdcsp"…
Apr 2 2019, 9:58 AM
stefanp committed rL357494: [PowerPC] Fix reversed bit issue in DCMX mask for "xvtstdcdp" and "xvtstdcsp"….
[PowerPC] Fix reversed bit issue in DCMX mask for "xvtstdcdp" and "xvtstdcsp"…
Apr 2 2019, 9:57 AM
stefanp closed D59384: Fix reversed bit issue in DCMX mask for "xvtstdcdp" and "xvtstdcsp" P9 implementation.
Apr 2 2019, 9:57 AM · Restricted Project

Apr 1 2019

stefanp added a comment to D59384: Fix reversed bit issue in DCMX mask for "xvtstdcdp" and "xvtstdcsp" P9 implementation.

@nemanjai
I will commit this for Victor.

Apr 1 2019, 1:13 PM · Restricted Project

Mar 29 2019

stefanp accepted D59633: [PowerPC] Look through copies for compare elimination.

Have a couple of minor nits about the test case but that is all.
LGTM.

Mar 29 2019, 10:40 AM · Restricted Project
stefanp accepted D59384: Fix reversed bit issue in DCMX mask for "xvtstdcdp" and "xvtstdcsp" P9 implementation.

LGTM

Mar 29 2019, 3:59 AM · Restricted Project

Mar 28 2019

stefanp accepted D59843: [PowerPC] Add support for __dcbf builtin.

Minor nit that can be fixed when this patch is committed.
LGTM.

Mar 28 2019, 11:19 AM · Restricted Project, Restricted Project

Mar 26 2019

stefanp committed rGe1d79a87c648: [PowerPC] Remove UseVSXReg (authored by stefanp).
[PowerPC] Remove UseVSXReg
Mar 26 2019, 1:28 PM
stefanp committed rL357028: [PowerPC] Remove UseVSXReg.
[PowerPC] Remove UseVSXReg
Mar 26 2019, 1:27 PM
stefanp closed D58685: [PowerPC] Remove UseVSXReg.
Mar 26 2019, 1:27 PM · Restricted Project

Mar 1 2019

stefanp committed rOMP355229: [OPENMP] Deal with additional store inserted by Clang under -fno-PIC for….
[OPENMP] Deal with additional store inserted by Clang under -fno-PIC for…
Mar 1 2019, 1:19 PM
stefanp committed rGa908829bf5dc: [OPENMP] Deal with additional store inserted by Clang under -fno-PIC for… (authored by stefanp).
[OPENMP] Deal with additional store inserted by Clang under -fno-PIC for…
Mar 1 2019, 1:19 PM
stefanp committed rL355229: [OPENMP] Deal with additional store inserted by Clang under -fno-PIC for….
[OPENMP] Deal with additional store inserted by Clang under -fno-PIC for…
Mar 1 2019, 1:19 PM
stefanp closed D56286: [OPENMP] Deal with additional store inserted by Clang under -fno-PIC for PowerPC..
Mar 1 2019, 1:19 PM · Restricted Project, Restricted Project
stefanp added a comment to D56286: [OPENMP] Deal with additional store inserted by Clang under -fno-PIC for PowerPC..

The reason why we don't clean up that extra store on no-PIC is because we run a couple of extra passes for PIC for PowerPC.
It is this code:

// FIXME: We probably don't need to run these for -fPIE.
if (getPPCTargetMachine().isPositionIndependent()) {
  // FIXME: LiveVariables should not be necessary here!
  // PPCTLSDynamicCallPass uses LiveIntervals which previously dependent on
  // LiveVariables. This (unnecessary) dependency has been removed now,
  // however a stage-2 clang build fails without LiveVariables computed here.
  addPass(&LiveVariablesID, false);
  addPass(createPPCTLSDynamicCallPass());
}

Those extra passes clean up the extra store.
If I remember correctly this is only really an issue at -O0. At higher opts other passes clean up stores like that.

Mar 1 2019, 7:59 AM · Restricted Project, Restricted Project

Feb 28 2019

stefanp added a comment to D56286: [OPENMP] Deal with additional store inserted by Clang under -fno-PIC for PowerPC..

@hfinkel @nemanjai
Hi,
Sorry for the late reply. It took me a little while to figure out that I had specified the wrong options for my test when trying to reproduce this....
Anyway, I've verified that what Nemanja said is indeed correct:
no-PIC

bl      100006b0 <00000017.plt_call.omp_control_tool@@VERSION>                                       
ld      r2,24(r1)                                                                                    
nop                                                                                                  
stw     r3,108(r31)
nop

PIC

bl      100006b0 <00000017.plt_call.omp_control_tool@@VERSION>
ld      r2,24(r1)
nop
nop

The store in the no-PIC version is just saving the return value from r3.

Feb 28 2019, 11:20 AM · Restricted Project, Restricted Project
stefanp committed rGa073a18460b4: [PowerPC] Removed STATISTIC that was causing build errors. (authored by stefanp).
[PowerPC] Removed STATISTIC that was causing build errors.
Feb 28 2019, 4:40 AM
stefanp committed rL355087: [PowerPC] Removed STATISTIC that was causing build errors..
[PowerPC] Removed STATISTIC that was causing build errors.
Feb 28 2019, 4:40 AM
stefanp committed rGbd5429ef38de: [PowerPC] Move the stack pointer update instruction later in the prologue and… (authored by stefanp).
[PowerPC] Move the stack pointer update instruction later in the prologue and…
Feb 28 2019, 4:24 AM
stefanp committed rL355085: [PowerPC] Move the stack pointer update instruction later in the prologue and….
[PowerPC] Move the stack pointer update instruction later in the prologue and…
Feb 28 2019, 4:23 AM
stefanp closed D42590: [PowerPC] Try to move the stack pointer update instruction later in the prologue and earlier in the epilogue (Version 2).
Feb 28 2019, 4:22 AM · Restricted Project

Feb 25 2019

stefanp added a comment to D56286: [OPENMP] Deal with additional store inserted by Clang under -fno-PIC for PowerPC..

Ping.

Feb 25 2019, 7:31 AM · Restricted Project, Restricted Project

Feb 13 2019

stefanp updated the diff for D42590: [PowerPC] Try to move the stack pointer update instruction later in the prologue and earlier in the epilogue (Version 2).

Fixed according to review comments.

Feb 13 2019, 5:17 PM · Restricted Project
stefanp added a comment to D42590: [PowerPC] Try to move the stack pointer update instruction later in the prologue and earlier in the epilogue (Version 2).

Committed revision 353994 with the test cases as NFC.
Will update the patch for the remaining comments soon...

Feb 13 2019, 3:50 PM · Restricted Project
stefanp committed rG1113940df2f8: [PowerPC][NFC] Added tests for prologue and epilogue code gen. (authored by stefanp).
[PowerPC][NFC] Added tests for prologue and epilogue code gen.
Feb 13 2019, 3:37 PM
stefanp committed rL353994: [PowerPC][NFC] Added tests for prologue and epilogue code gen..
[PowerPC][NFC] Added tests for prologue and epilogue code gen.
Feb 13 2019, 3:36 PM

Feb 5 2019

stefanp abandoned D57759: [PowerPC] Code Cleanup Remove u1imm.

Hi Hal,
I'm actually not going to do this in the end.... I'm just going to abandon this patch.
I realized that we did actually need this type too.

Feb 5 2019, 3:57 PM
stefanp added a comment to D57759: [PowerPC] Code Cleanup Remove u1imm.

Hi Hal,
Thank you for the review.
I've looked around but the only place we use u1imm is where we only have 1 bit to use in the instruction anyway so we have no way to represent -1 anyway.

Feb 5 2019, 1:31 PM
stefanp created D57759: [PowerPC] Code Cleanup Remove u1imm.
Feb 5 2019, 9:05 AM
stefanp created D57752: [PowerPC] [Buildbots] Do not build shared libs for the PowerPC LLD buildbot.
Feb 5 2019, 7:21 AM

Jan 30 2019

stefanp closed D57110: [PowerPC] [Buildbots] Looking to add lld buildbot for PowerPC.

This patch was committed by Galina in r352652.

Jan 30 2019, 1:45 PM

Jan 29 2019

stefanp added a comment to D56286: [OPENMP] Deal with additional store inserted by Clang under -fno-PIC for PowerPC..

Gentle ping..

Jan 29 2019, 1:07 PM · Restricted Project, Restricted Project

Jan 28 2019

stefanp added a comment to D57314: [PowerPC] more opportunity for converting reg+reg to reg+imm.

Looked through this and tried a couple of things but overall it looks good.
My only comments are a couple of minor nit items.

Jan 28 2019, 10:15 AM
stefanp abandoned D45266: [PowerPC] Add a Memory Latency Mutation to the scheduler.

No longer working on this.

Jan 28 2019, 6:56 AM
stefanp closed D39805: [Power9] Set MicroOpBufferSize for Power 9.

Closed.

Jan 28 2019, 6:45 AM

Jan 25 2019

stefanp updated the diff for D42590: [PowerPC] Try to move the stack pointer update instruction later in the prologue and earlier in the epilogue (Version 2).

Addressed comments from Jinsong.

Jan 25 2019, 12:02 PM · Restricted Project
stefanp updated the diff for D57110: [PowerPC] [Buildbots] Looking to add lld buildbot for PowerPC.

@gkistanova
Hi Galina,
Thank you for approving this.
I'm sorry but I have to change it a little bit. I just realized that the previous changeset was setting -DLLVM_ENABLE_LLD on both stage1 and stage2 builds and that won't work. We just want that option on stage2.

Jan 25 2019, 10:27 AM

Jan 23 2019

stefanp created D57110: [PowerPC] [Buildbots] Looking to add lld buildbot for PowerPC.
Jan 23 2019, 11:33 AM
stefanp updated the diff for D42590: [PowerPC] Try to move the stack pointer update instruction later in the prologue and earlier in the epilogue (Version 2).

Addressed reviewer comments.
Limited optimization to cases where the fixed called saved regs fit in the red zone of 288 bytes.

Jan 23 2019, 7:59 AM · Restricted Project

Jan 3 2019

stefanp updated the diff for D56286: [OPENMP] Deal with additional store inserted by Clang under -fno-PIC for PowerPC..

Modified patch to completely revert rL349512.

Jan 3 2019, 1:33 PM · Restricted Project, Restricted Project
stefanp created D56286: [OPENMP] Deal with additional store inserted by Clang under -fno-PIC for PowerPC..
Jan 3 2019, 12:10 PM · Restricted Project, Restricted Project

Dec 18 2018

stefanp committed rL349521: [Tests] [OpenMP] XFAIL also for ppc64le..
[Tests] [OpenMP] XFAIL also for ppc64le.
Dec 18 2018, 11:08 AM
stefanp committed rOMP349521: [Tests] [OpenMP] XFAIL also for ppc64le..
[Tests] [OpenMP] XFAIL also for ppc64le.
Dec 18 2018, 11:08 AM
stefanp committed rOMP349512: XFAIL Pair of OpenMP Tests for PowerPC LE Linux.
XFAIL Pair of OpenMP Tests for PowerPC LE Linux
Dec 18 2018, 9:43 AM
stefanp committed rL349512: XFAIL Pair of OpenMP Tests for PowerPC LE Linux.
XFAIL Pair of OpenMP Tests for PowerPC LE Linux
Dec 18 2018, 9:42 AM
stefanp committed rC349489: [PowerPC] Make no-PIC default to match GCC - CLANG.
[PowerPC] Make no-PIC default to match GCC - CLANG
Dec 18 2018, 7:11 AM
stefanp committed rL349489: [PowerPC] Make no-PIC default to match GCC - CLANG.
[PowerPC] Make no-PIC default to match GCC - CLANG
Dec 18 2018, 7:11 AM
stefanp closed D53384: [PowerPC] Make no-PIC default to match GCC - CLANG.
Dec 18 2018, 7:11 AM
stefanp reopened D53384: [PowerPC] Make no-PIC default to match GCC - CLANG.
Dec 18 2018, 7:07 AM

Dec 11 2018

stefanp committed rC348858: Revert "[PowerPC] Make no-PIC default to match GCC - CLANG".
Revert "[PowerPC] Make no-PIC default to match GCC - CLANG"
Dec 11 2018, 7:52 AM
stefanp added a reverting change for rL348299: [PowerPC] Make no-PIC default to match GCC - CLANG: rL348858: Revert "[PowerPC] Make no-PIC default to match GCC - CLANG".
Dec 11 2018, 7:52 AM
stefanp committed rL348858: Revert "[PowerPC] Make no-PIC default to match GCC - CLANG".
Revert "[PowerPC] Make no-PIC default to match GCC - CLANG"
Dec 11 2018, 7:52 AM

Dec 4 2018

stefanp committed rC348299: [PowerPC] Make no-PIC default to match GCC - CLANG.
[PowerPC] Make no-PIC default to match GCC - CLANG
Dec 4 2018, 12:18 PM
stefanp committed rL348299: [PowerPC] Make no-PIC default to match GCC - CLANG.
[PowerPC] Make no-PIC default to match GCC - CLANG
Dec 4 2018, 12:18 PM
stefanp closed D53384: [PowerPC] Make no-PIC default to match GCC - CLANG.
Dec 4 2018, 12:18 PM
stefanp committed rL348298: [PowerPC] Make no-PIC default to match GCC - LLVM.
[PowerPC] Make no-PIC default to match GCC - LLVM
Dec 4 2018, 12:18 PM
stefanp closed D53383: [PowerPC] Make no-PIC default to match GCC - LLVM .
Dec 4 2018, 12:18 PM

Nov 26 2018

stefanp updated the diff for D53384: [PowerPC] Make no-PIC default to match GCC - CLANG.

Patch is now only for Little Endian.
Big Endian will remain PIC by default as it was before. This is due to a bug found on BE where -fsanitize=leak is not detecting leaks correctly. As Little Endian is a higher priority we will add that code first and then look at the BE issue at a later date.

Nov 26 2018, 11:09 AM
stefanp updated the diff for D53383: [PowerPC] Make no-PIC default to match GCC - LLVM .

Patch is now only for Little Endian.
Big Endian will remain PIC by default as it was before. This is due to a bug found on BE where -fsanitize=leak is not detecting leaks correctly. As Little Endian is a higher priority we will add that code first and then look at the BE issue at a later date.

Nov 26 2018, 11:09 AM

Nov 21 2018

stefanp committed rL347428: [PowerPC][NFC] Split PPCMCCodeEmitter into header and cpp file..
[PowerPC][NFC] Split PPCMCCodeEmitter into header and cpp file.
Nov 21 2018, 1:26 PM
stefanp committed rL347422: [PowerPC][NFC] Minor Code Cleaup for PPCMCCodeEmitter..
[PowerPC][NFC] Minor Code Cleaup for PPCMCCodeEmitter.
Nov 21 2018, 12:50 PM

Nov 16 2018

stefanp reopened D53383: [PowerPC] Make no-PIC default to match GCC - LLVM .
Nov 16 2018, 12:44 PM
stefanp reopened D53384: [PowerPC] Make no-PIC default to match GCC - CLANG.
Nov 16 2018, 12:44 PM
stefanp committed rL347076: Revert "[PowerPC] Make no-PIC default to match GCC - LLVM".
Revert "[PowerPC] Make no-PIC default to match GCC - LLVM"
Nov 16 2018, 11:27 AM
stefanp committed rC347075: Revert "[PowerPC] Make no-PIC default to match GCC - CLANG".
Revert "[PowerPC] Make no-PIC default to match GCC - CLANG"
Nov 16 2018, 11:24 AM
stefanp committed rL347075: Revert "[PowerPC] Make no-PIC default to match GCC - CLANG".
Revert "[PowerPC] Make no-PIC default to match GCC - CLANG"
Nov 16 2018, 11:24 AM
stefanp committed rC347070: [PowerPC] Make no-PIC default to match GCC - CLANG.
[PowerPC] Make no-PIC default to match GCC - CLANG
Nov 16 2018, 10:39 AM
stefanp committed rL347070: [PowerPC] Make no-PIC default to match GCC - CLANG.
[PowerPC] Make no-PIC default to match GCC - CLANG
Nov 16 2018, 10:39 AM
stefanp closed D53384: [PowerPC] Make no-PIC default to match GCC - CLANG.
Nov 16 2018, 10:39 AM
stefanp committed rL347069: [PowerPC] Make no-PIC default to match GCC - LLVM.
[PowerPC] Make no-PIC default to match GCC - LLVM
Nov 16 2018, 10:39 AM
stefanp closed D53383: [PowerPC] Make no-PIC default to match GCC - LLVM .
Nov 16 2018, 10:39 AM

Nov 2 2018

stefanp updated the diff for D53384: [PowerPC] Make no-PIC default to match GCC - CLANG.

Added the PIC version to the second test as well.
Removed the third test. It has nothing to do with this change and I should not have modified that test in the first place.

Nov 2 2018, 2:24 PM
stefanp added inline comments to D53384: [PowerPC] Make no-PIC default to match GCC - CLANG.
Nov 2 2018, 1:42 PM

Oct 25 2018

stefanp added a comment to D53383: [PowerPC] Make no-PIC default to match GCC - LLVM .

@joerg
When you say that we produce quite bad position dependent code do you mean in terms of performance or in terms of correctness? At this point I have not seen any issues with the no-PIC code. If you have an example of this bad code please share the test case.
Also, changing the default option to no-PIC does not mean that everything we do will become no-PIC. For example, the way that the TOC is handled on PPC remains position independent. However, going from PIC to no-PIC does offer a number of opportunities (for example in in-lining).
With respect to PIE I'm not sure what the difference is between PIE and static relocation models in terms of code generation. Is there any reason why you would prefer PIE in this case? Do you have an example that shows it to be better than say no-PIC?

Oct 25 2018, 1:06 PM

Oct 24 2018

stefanp added a comment to D53383: [PowerPC] Make no-PIC default to match GCC - LLVM .

Generally the way I decided on how to update the test depended on a couple of things:

  1. If the test had this line: ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py it means that we had an auto generate test and if I felt that the test had nothing really to do with PIC or no-PIC I would just regenerate it. For example a number of tests just had addis ld differences.
  2. If the test was not auto generated but it still had nothing to do with PIC / no-PIC I would just add -relocation-model=pic. Changing these tests would not get us very much and it would be a significant amount of work.
  3. For tests that had something to do with PIC / no-PIC I tried to make a judgement call as to what would be more useful to keep (the PIC test or the non-PIC test). If you feel that some of these tests I should have been the other way around let me know. I know you mentioned a couple in your comment and I'll take a look at those.
Oct 24 2018, 1:25 PM
stefanp added inline comments to D53384: [PowerPC] Make no-PIC default to match GCC - CLANG.
Oct 24 2018, 1:09 PM
stefanp updated the diff for D53383: [PowerPC] Make no-PIC default to match GCC - LLVM .

Default on all Power PC platforms is now no-PIC.
If any bugs are exposed by this change we will fix them as they are exposed.

Oct 24 2018, 10:14 AM
stefanp updated the diff for D53384: [PowerPC] Make no-PIC default to match GCC - CLANG.

Default on all Power PC platforms is now no-PIC.
If any bugs are exposed by this change we will fix them as they are exposed.

Oct 24 2018, 10:13 AM

Oct 23 2018

stefanp committed rL345053: [Power9] Add __float128 support in the backend for bitcast to a i128.
[Power9] Add __float128 support in the backend for bitcast to a i128
Oct 23 2018, 10:13 AM
stefanp closed D49507: [Power9] Add __float128 support in the backend for bitcast to a i128.
Oct 23 2018, 10:13 AM

Oct 22 2018

stefanp updated the diff for D49507: [Power9] Add __float128 support in the backend for bitcast to a i128.

Simplified the code further.

Oct 22 2018, 9:13 AM
stefanp updated the diff for D53383: [PowerPC] Make no-PIC default to match GCC - LLVM .

Updated test cases.

Oct 22 2018, 6:33 AM
stefanp updated the diff for D53384: [PowerPC] Make no-PIC default to match GCC - CLANG.

Test cases updated.

Oct 22 2018, 6:30 AM

Oct 19 2018

stefanp updated the diff for D49507: [Power9] Add __float128 support in the backend for bitcast to a i128.

Simplified some of the conditionals (easier to read) and added an early exit.

Oct 19 2018, 9:01 AM