Re: [Ping^2 PATCH] VAX: Fix ICE during operand output

2013-09-13 Thread Matt Thomas

On Sep 13, 2013, at 4:21 AM, Jan-Benedict Glaw  wrote:

> On Wed, 2013-07-31 18:34:26 +0200, Jan-Benedict Glaw  
> wrote:
>> We've seen ICEs while outputting an operand (not even the excessive
>> CISC of a VAX could do that), which should be fixed by this patch:
>> 
>> 2013-07-31  Jan-Benedict Glaw  
>> 
>>  * config/vax/constraints.md (T): Add missing CONSTANT_P check.
>> 
>> diff --git a/gcc/config/vax/constraints.md b/gcc/config/vax/constraints.md
>> index a4774d4..66d6bf0 100644
>> --- a/gcc/config/vax/constraints.md
>> +++ b/gcc/config/vax/constraints.md
>> @@ -114,5 +114,6 @@
>> 
>> (define_constraint "T"
>> "@internal satisfies CONSTANT_P and, if pic is enabled, is not a 
>> SYMBOL_REF, LABEL_REF, or CONST."
>> -   (ior (not (match_code "const,symbol_ref,label_ref"))
>> -(match_test "!flag_pic")))
>> +  (and (match_test ("CONSTANT_P (op)"))
>> +   (ior (not (match_code "symbol_ref,label_ref,const"))
>> +(match_test "!flag_pic"
>> 
>> Even the description got it right :)  Thanks to Will Deacon for
>> debugging this.
>> 
>> Ok?

Yes.

Re: [PATCH] target/56875: Work around buggy GAS

2013-09-20 Thread Matt Thomas

On Sep 20, 2013, at 9:58 AM, Jan-Benedict Glaw  wrote:

> Hi!
> 
> VAX GAS has a glitch when generating a 64bit value from a small
> negative integer, which isn't properly sign-extended. (I'll see if
> this can be fixed without breaking other cases.)
> 
> However, GCC should work around this by simply using the already
> prepared formatting operand code 'D'.  The patch also introduces a new
> vax.exp fragment (under gcc.target).
> 
> Ok?

Yes.


Re: [PATCH] Disable updating VRSAVE everywhere except Darwin

2012-09-29 Thread Matt Thomas

On Sep 29, 2012, at 8:08 AM, Segher Boessenkool wrote:

>> The following proposed patch disables setting, saving and restoring
>> the VRSAVE register on all targets except Darwin.
>> 
>> VRSAVE was removed from the AIX ABI and was suppose to have been
>> removed from the PPC SVR4 ABI.  All recent versions of the Linux
>> kernel set and maintain VRSAVE itself, as a process-level flag, not as
>> individual bits, so no need for the compiler to set the register or to
>> save and restore it across calls.  All uses of VRSAVE (e.g., GLibc)
>> will continue to work using the value set by the kernel.
> 
> I don't think you can assume all embedded users do not use VRSAVE (or
> even the majority).  And what about *BSD?

NetBSD does nothing with VRSAVE except saving and restoring it
on exceptions.  


Re: wide-int, vax

2013-12-04 Thread Matt Thomas

On Nov 23, 2013, at 11:23 AM, Mike Stump  wrote:

> Richi has asked the we break the wide-int patch so that the individual port 
> and front end maintainers can review their parts without have to go through 
> the entire patch.This patch covers the vax port.
> 
> Ok?

OK.

Re: [Patch Vax] zero/sign extend patterns need to be SUBREG aware

2015-06-19 Thread Matt Thomas

> On Jun 19, 2015, at 8:51 AM, Jan-Benedict Glaw  wrote:
> 
> Hi James,
> 
> On Tue, 2015-06-16 10:58:48 +0100, James Greenhalgh 
>  wrote:
>> The testcase in this patch, from libgcc, causes an ICE in the Vax
>> build.
> [...]
>> As far as I know, reload is going to get rid of these SUBREGs
>> for us, so we don't need to modify the output statement.
>> 
>> Tested that this restores the VAX build and that the code-gen is
>> sensible for the testcase.
>> 
>> OK?
> 
> Looks good to me, but Matt has to ACK this fix.

I so ACK.

Re: [Patch Vax] zero/sign extend patterns need to be SUBREG aware

2015-06-29 Thread Matt Thomas

> On Jun 29, 2015, at 8:19 AM, James Greenhalgh  
> wrote:
> 
> Now that this has had a few days sitting on trunk without seeing any
> complaints, would you mind if I backported it to the GCC 5 branch?

I don’t have a problem with that.  

Re: [PATCH] vrp: fold ffs to ctz

2012-06-05 Thread Matt Thomas

On Jun 5, 2012, at 6:46 AM, Paolo Bonzini wrote:

>> Do we always have CTZ if we have FFS?  Can't there be a target that
>> implements FFS as opcode but not CTZ, so you'd slow down things?
>> Thus, should the transform be conditonal on target support for CTZ
>> or no target support for FFS?
> 
> Hmm, SH and (some semi-obscure variant of) SPARC.  But actually SPARC
> should define a clz pattern instead; SH should have a popcount pattern +
> a generic trick to expand ctz/ffs in terms of popcount.  I'll submit
> those before applying this patch.

VAX has both FFS/FFC instructions but only a ffs pattern.
It does not have CTZ or CTO patterns but those could be added trivially.