diff mbox

[AArch64,obvious] Clean up parentheses and use GET_MODE_UNIT_BITSIZE in a couple of patterns

Message ID 57617C9A.9020900@foss.arm.com
State New
Headers show

Commit Message

Kyrill Tkachov June 15, 2016, 4:04 p.m. UTC
Hi all,

The parentheses in these two patterns are a bit of a mess and we can remove them.
Do that. also, use '{' and '}' for the C code so that we can avoid escaping the strings
in the block.  Also, use GET_MODE_UNIT_BITSIZE directly instead of taking GET_MODE_UNIT_SIZE and
multiplying by BITS_PER_UNIT which is equivalent.

Bootstrapped and tested on aarch64.
Committing as obvious.

Thanks,
Kyrill

2016-06-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

     * config/aarch64/aarch64-simd.md (aarch64_<sur>shll_n<mode>): Clean
     up parentheses.  Use GET_MODE_UNIT_BITSIZE.
     (aarch64_<sur>shll2_n<mode>): Likewise.

Comments

Andreas Schwab June 15, 2016, 4:12 p.m. UTC | #1
Kyrill Tkachov <kyrylo.tkachov@foss.arm.com> writes:

> diff --git a/gcc/config/aarch64/aarch64-simd.md b/gcc/config/aarch64/aarch64-simd.md
> index 6effd7d42d18c9b526aaaec93a44e8801908e164..a19d1711b5bcb516e4aca6a22d1b79df4f32923f 100644
> --- a/gcc/config/aarch64/aarch64-simd.md
> +++ b/gcc/config/aarch64/aarch64-simd.md
> @@ -3993,15 +3993,12 @@ (define_insn "aarch64_<sur>shll_n<mode>"
>  			   "aarch64_simd_shift_imm_bitsize_<ve_mode>" "i")]
>                           VSHLL))]
>    "TARGET_SIMD"
> -  "*
> -  int bit_width = GET_MODE_UNIT_SIZE (<MODE>mode) * BITS_PER_UNIT;
> -  if (INTVAL (operands[2]) == bit_width)
>    {
> -    return \"shll\\t%0.<Vwtype>, %1.<Vtype>, %2\";
> +    if (INTVAL (operands[2]) == GET_MODE_UNIT_BITSIZE (<MODE>mode))
> +      return "shll\\t%0.<Vwtype>, %1.<Vtype>, %2";
> +    else
> +      return "<sur>shll\\t%0.<Vwtype>, %1.<Vtype>, %2";

You need to unquote the backslashes, too.

Andreas.
Kyrill Tkachov June 15, 2016, 4:17 p.m. UTC | #2
On 15/06/16 17:12, Andreas Schwab wrote:
> Kyrill Tkachov <kyrylo.tkachov@foss.arm.com> writes:
>
>> diff --git a/gcc/config/aarch64/aarch64-simd.md b/gcc/config/aarch64/aarch64-simd.md
>> index 6effd7d42d18c9b526aaaec93a44e8801908e164..a19d1711b5bcb516e4aca6a22d1b79df4f32923f 100644
>> --- a/gcc/config/aarch64/aarch64-simd.md
>> +++ b/gcc/config/aarch64/aarch64-simd.md
>> @@ -3993,15 +3993,12 @@ (define_insn "aarch64_<sur>shll_n<mode>"
>>   			   "aarch64_simd_shift_imm_bitsize_<ve_mode>" "i")]
>>                            VSHLL))]
>>     "TARGET_SIMD"
>> -  "*
>> -  int bit_width = GET_MODE_UNIT_SIZE (<MODE>mode) * BITS_PER_UNIT;
>> -  if (INTVAL (operands[2]) == bit_width)
>>     {
>> -    return \"shll\\t%0.<Vwtype>, %1.<Vtype>, %2\";
>> +    if (INTVAL (operands[2]) == GET_MODE_UNIT_BITSIZE (<MODE>mode))
>> +      return "shll\\t%0.<Vwtype>, %1.<Vtype>, %2";
>> +    else
>> +      return "<sur>shll\\t%0.<Vwtype>, %1.<Vtype>, %2";
> You need to unquote the backslashes, too.

You mean not escape the '\t'?
The port uses \\t for tabs, even in {...} templates, though not consistently.
That could be cleaned up separately.

Kyrill

> Andreas.
>
diff mbox

Patch

diff --git a/gcc/config/aarch64/aarch64-simd.md b/gcc/config/aarch64/aarch64-simd.md
index 6effd7d42d18c9b526aaaec93a44e8801908e164..a19d1711b5bcb516e4aca6a22d1b79df4f32923f 100644
--- a/gcc/config/aarch64/aarch64-simd.md
+++ b/gcc/config/aarch64/aarch64-simd.md
@@ -3993,15 +3993,12 @@  (define_insn "aarch64_<sur>shll_n<mode>"
 			   "aarch64_simd_shift_imm_bitsize_<ve_mode>" "i")]
                          VSHLL))]
   "TARGET_SIMD"
-  "*
-  int bit_width = GET_MODE_UNIT_SIZE (<MODE>mode) * BITS_PER_UNIT;
-  if (INTVAL (operands[2]) == bit_width)
   {
-    return \"shll\\t%0.<Vwtype>, %1.<Vtype>, %2\";
+    if (INTVAL (operands[2]) == GET_MODE_UNIT_BITSIZE (<MODE>mode))
+      return "shll\\t%0.<Vwtype>, %1.<Vtype>, %2";
+    else
+      return "<sur>shll\\t%0.<Vwtype>, %1.<Vtype>, %2";
   }
-  else {
-    return \"<sur>shll\\t%0.<Vwtype>, %1.<Vtype>, %2\";
-  }"
   [(set_attr "type" "neon_shift_imm_long")]
 )
 
@@ -4013,15 +4010,12 @@  (define_insn "aarch64_<sur>shll2_n<mode>"
 			 (match_operand:SI 2 "immediate_operand" "i")]
                          VSHLL))]
   "TARGET_SIMD"
-  "*
-  int bit_width = GET_MODE_UNIT_SIZE (<MODE>mode) * BITS_PER_UNIT;
-  if (INTVAL (operands[2]) == bit_width)
   {
-    return \"shll2\\t%0.<Vwtype>, %1.<Vtype>, %2\";
+    if (INTVAL (operands[2]) == GET_MODE_UNIT_BITSIZE (<MODE>mode))
+      return "shll2\\t%0.<Vwtype>, %1.<Vtype>, %2";
+    else
+      return "<sur>shll2\\t%0.<Vwtype>, %1.<Vtype>, %2";
   }
-  else {
-    return \"<sur>shll2\\t%0.<Vwtype>, %1.<Vtype>, %2\";
-  }"
   [(set_attr "type" "neon_shift_imm_long")]
 )