Patchwork [AArch64] Fix parameters to vcvtx_high

login
register
mail settings
Submitter James Greenhalgh
Date Sept. 6, 2013, 3:06 p.m.
Message ID <1378479968-10761-1-git-send-email-james.greenhalgh@arm.com>
Download mbox | patch
Permalink /patch/273217/
State New
Headers show

Comments

James Greenhalgh - Sept. 6, 2013, 3:06 p.m.
Hi,

vcvtx_high_f32_f64 should have two parameters, a float32x2 which
provides the lower half of the target vector, and a float64x2
which will be converted to the higher half of the target vector.

Fix thusly.

Tested with aarch64.exp on aarch64-none-elf.

OK?

Thanks,
James

---
gcc/

2013-09-06  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/aarch64/arm_neon.h
	(vcvtx_high_f32_f64): Fix parameters.
James Greenhalgh - Sept. 16, 2013, 8:39 a.m.
*ping*

Cheers,
James

On Fri, Sep 06, 2013 at 04:06:08PM +0100, James Greenhalgh wrote:
> 
> Hi,
> 
> vcvtx_high_f32_f64 should have two parameters, a float32x2 which
> provides the lower half of the target vector, and a float64x2
> which will be converted to the higher half of the target vector.
> 
> Fix thusly.
> 
> Tested with aarch64.exp on aarch64-none-elf.
> 
> OK?
> 
> Thanks,
> James
> 
> ---
> gcc/
> 
> 2013-09-06  James Greenhalgh  <james.greenhalgh@arm.com>
> 
> 	* config/aarch64/arm_neon.h
> 	(vcvtx_high_f32_f64): Fix parameters.
> 

> diff --git a/gcc/config/aarch64/arm_neon.h b/gcc/config/aarch64/arm_neon.h
> index 5864f2c..47b45f4 100644
> --- a/gcc/config/aarch64/arm_neon.h
> +++ b/gcc/config/aarch64/arm_neon.h
> @@ -5756,12 +5756,12 @@ vcvtx_f32_f64 (float64x2_t a)
>  }
>  
>  __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
> -vcvtx_high_f32_f64 (float64x2_t a)
> +vcvtx_high_f32_f64 (float32x2_t a, float64x2_t b)
>  {
>    float32x4_t result;
>    __asm__ ("fcvtxn2 %0.4s,%1.2d"
>             : "=w"(result)
> -           : "w"(a)
> +           : "w" (b), "0"(a)
>             : /* No clobbers */);
>    return result;
>  }
Marcus Shawcroft - Sept. 16, 2013, 8:57 a.m.
On 06/09/13 16:06, James Greenhalgh wrote:

> gcc/
>
> 2013-09-06  James Greenhalgh  <james.greenhalgh@arm.com>
>
> 	* config/aarch64/arm_neon.h
> 	(vcvtx_high_f32_f64): Fix parameters.
>

OK
/Marcus

Patch

diff --git a/gcc/config/aarch64/arm_neon.h b/gcc/config/aarch64/arm_neon.h
index 5864f2c..47b45f4 100644
--- a/gcc/config/aarch64/arm_neon.h
+++ b/gcc/config/aarch64/arm_neon.h
@@ -5756,12 +5756,12 @@  vcvtx_f32_f64 (float64x2_t a)
 }
 
 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
-vcvtx_high_f32_f64 (float64x2_t a)
+vcvtx_high_f32_f64 (float32x2_t a, float64x2_t b)
 {
   float32x4_t result;
   __asm__ ("fcvtxn2 %0.4s,%1.2d"
            : "=w"(result)
-           : "w"(a)
+           : "w" (b), "0"(a)
            : /* No clobbers */);
   return result;
 }