Skip to content

Commit bff28e0

Browse files
author
tnfchris
committed
Arm: Update Armv8.4-a's FP16 FML intrinsics
This patch updates the Armv8.4-a FP16 FML intrinsics's suffixes from u32 to f16 to be more consistent with the naming convention for intrinsics. The specifications for these intrinsics have not been published yet so we do not need to maintain the old names. The patch was created with the following script: grep -lIE "(vfml[as].+)_u32" -r gcc/ | grep -iEv ".+Changelog.*" \ | xargs sed -i -E -e "s/(vfml[as].+)_u32/\1_f16/g" gcc/ChangeLog: * config/arm/arm_neon.h (vfmlal_low_u32, vfmlsl_low_u32, vfmlal_high_u32, vfmlsl_high_u32, vfmlalq_low_u32, vfmlslq_low_u32, vfmlalq_high_u32, vfmlslq_high_u32, vfmlal_lane_low_u32, vfmlal_lane_high_u32, vfmlalq_laneq_low_u32, vfmlalq_lane_low_u32, vfmlal_laneq_low_u32, vfmlalq_laneq_high_u32, vfmlalq_lane_high_u32, vfmlal_laneq_high_u32, vfmlsl_lane_low_u32, vfmlsl_lane_high_u32, vfmlslq_laneq_low_u32, vfmlslq_lane_low_u32, vfmlsl_laneq_low_u32, vfmlslq_laneq_high_u32, vfmlslq_lane_high_u32, vfmlsl_laneq_high_u32): Rename ... (vfmlal_low_f16, vfmlsl_low_f16, vfmlal_high_f16, vfmlsl_high_f16, vfmlalq_low_f16, vfmlslq_low_f16, vfmlalq_high_f16, vfmlslq_high_f16, vfmlal_lane_low_f16, vfmlal_lane_high_f16, vfmlalq_laneq_low_f16, vfmlalq_lane_low_f16, vfmlal_laneq_low_f16, vfmlalq_laneq_high_f16, vfmlalq_lane_high_f16, vfmlal_laneq_high_f16, vfmlsl_lane_low_f16, vfmlsl_lane_high_f16, vfmlslq_laneq_low_f16, vfmlslq_lane_low_f16, vfmlsl_laneq_low_f16, vfmlslq_laneq_high_f16, vfmlslq_lane_high_f16, vfmlsl_laneq_high_f16): ... To this. * config/arm/neon.md: Update comments. gcc/testsuite/ChangeLog: * gcc.target/arm/simd/fp16fml_high.c (test_vfmlal_high_u32, test_vfmlalq_high_u32, test_vfmlsl_high_u32, test_vfmlslq_high_u32): Rename .... (test_vfmlal_high_f16, test_vfmlalq_high_f16, test_vfmlsl_high_f16, test_vfmlslq_high_f16): ... To this. * gcc.target/arm/simd/fp16fml_lane_high.c (test_vfmlal_lane_high_u32, tets_vfmlsl_lane_high_u32, test_vfmlal_laneq_high_u32, test_vfmlsl_laneq_high_u32, test_vfmlalq_lane_high_u32, test_vfmlslq_lane_high_u32, test_vfmlalq_laneq_high_u32, test_vfmlslq_laneq_high_u32): Rename ... (test_vfmlal_lane_high_f16, tets_vfmlsl_lane_high_f16, test_vfmlal_laneq_high_f16, test_vfmlsl_laneq_high_f16, test_vfmlalq_lane_high_f16, test_vfmlslq_lane_high_f16, test_vfmlalq_laneq_high_f16, test_vfmlslq_laneq_high_f16): ... To this. * gcc.target/arm/simd/fp16fml_lane_low.c (test_vfmlal_lane_low_u32, test_vfmlsl_lane_low_u32, test_vfmlal_laneq_low_u32, test_vfmlsl_laneq_low_u32, test_vfmlalq_lane_low_u32, test_vfmlslq_lane_low_u32, test_vfmlalq_laneq_low_u32, test_vfmlslq_laneq_low_u32): Rename ... (test_vfmlal_lane_low_f16, test_vfmlsl_lane_low_f16, test_vfmlal_laneq_low_f16, test_vfmlsl_laneq_low_f16, test_vfmlalq_lane_low_f16, test_vfmlslq_lane_low_f16, test_vfmlalq_laneq_low_f16, test_vfmlslq_laneq_low_f16): ... To this. * gcc.target/arm/simd/fp16fml_low.c (test_vfmlal_low_u32, test_vfmlalq_low_u32, test_vfmlsl_low_u32, test_vfmlslq_low_u32): Rename ... (test_vfmlal_low_f16, test_vfmlalq_low_f16, test_vfmlsl_low_f16, test_vfmlslq_low_f16): ... To this. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269192 138bc75d-0d04-0410-961f-82ee72b054a4
1 parent d617288 commit bff28e0

File tree

8 files changed

+132
-80
lines changed

8 files changed

+132
-80
lines changed

gcc/ChangeLog

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,24 @@
1+
2019-02-25 Tamar Christina <[email protected]>
2+
3+
* config/arm/arm_neon.h (vfmlal_low_u32, vfmlsl_low_u32,
4+
vfmlal_high_u32, vfmlsl_high_u32, vfmlalq_low_u32, vfmlslq_low_u32,
5+
vfmlalq_high_u32, vfmlslq_high_u32, vfmlal_lane_low_u32,
6+
vfmlal_lane_high_u32, vfmlalq_laneq_low_u32, vfmlalq_lane_low_u32,
7+
vfmlal_laneq_low_u32, vfmlalq_laneq_high_u32, vfmlalq_lane_high_u32,
8+
vfmlal_laneq_high_u32, vfmlsl_lane_low_u32, vfmlsl_lane_high_u32,
9+
vfmlslq_laneq_low_u32, vfmlslq_lane_low_u32, vfmlsl_laneq_low_u32,
10+
vfmlslq_laneq_high_u32, vfmlslq_lane_high_u32, vfmlsl_laneq_high_u32):
11+
Rename ...
12+
(vfmlal_low_f16, vfmlsl_low_f16, vfmlal_high_f16, vfmlsl_high_f16,
13+
vfmlalq_low_f16, vfmlslq_low_f16, vfmlalq_high_f16, vfmlslq_high_f16,
14+
vfmlal_lane_low_f16, vfmlal_lane_high_f16, vfmlalq_laneq_low_f16,
15+
vfmlalq_lane_low_f16, vfmlal_laneq_low_f16, vfmlalq_laneq_high_f16,
16+
vfmlalq_lane_high_f16, vfmlal_laneq_high_f16, vfmlsl_lane_low_f16,
17+
vfmlsl_lane_high_f16, vfmlslq_laneq_low_f16, vfmlslq_lane_low_f16,
18+
vfmlsl_laneq_low_f16, vfmlslq_laneq_high_f16, vfmlslq_lane_high_f16,
19+
vfmlsl_laneq_high_f16): ... To this.
20+
* config/arm/neon.md: Update comments.
21+
122
2019-02-25 Tamar Christina <[email protected]>
223

324
* config/aarch64/arm_neon.h (vfmlal_low_u32, vfmlsl_low_u32,

gcc/config/arm/arm_neon.h

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -18106,63 +18106,63 @@ vdotq_lane_s32 (int32x4_t __r, int8x16_t __a, int8x8_t __b, const int __index)
1810618106

1810718107
__extension__ extern __inline float32x2_t
1810818108
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18109-
vfmlal_low_u32 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
18109+
vfmlal_low_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
1811018110
{
1811118111
return __builtin_neon_vfmal_lowv2sf (__r, __a, __b);
1811218112
}
1811318113

1811418114
__extension__ extern __inline float32x2_t
1811518115
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18116-
vfmlsl_low_u32 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
18116+
vfmlsl_low_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
1811718117
{
1811818118
return __builtin_neon_vfmsl_lowv2sf (__r, __a, __b);
1811918119
}
1812018120

1812118121
__extension__ extern __inline float32x2_t
1812218122
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18123-
vfmlal_high_u32 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
18123+
vfmlal_high_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
1812418124
{
1812518125
return __builtin_neon_vfmal_highv2sf (__r, __a, __b);
1812618126
}
1812718127

1812818128
__extension__ extern __inline float32x2_t
1812918129
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18130-
vfmlsl_high_u32 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
18130+
vfmlsl_high_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
1813118131
{
1813218132
return __builtin_neon_vfmsl_highv2sf (__r, __a, __b);
1813318133
}
1813418134

1813518135
__extension__ extern __inline float32x4_t
1813618136
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18137-
vfmlalq_low_u32 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
18137+
vfmlalq_low_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
1813818138
{
1813918139
return __builtin_neon_vfmal_lowv4sf (__r, __a, __b);
1814018140
}
1814118141

1814218142
__extension__ extern __inline float32x4_t
1814318143
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18144-
vfmlslq_low_u32 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
18144+
vfmlslq_low_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
1814518145
{
1814618146
return __builtin_neon_vfmsl_lowv4sf (__r, __a, __b);
1814718147
}
1814818148

1814918149
__extension__ extern __inline float32x4_t
1815018150
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18151-
vfmlalq_high_u32 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
18151+
vfmlalq_high_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
1815218152
{
1815318153
return __builtin_neon_vfmal_highv4sf (__r, __a, __b);
1815418154
}
1815518155

1815618156
__extension__ extern __inline float32x4_t
1815718157
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18158-
vfmlslq_high_u32 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
18158+
vfmlslq_high_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
1815918159
{
1816018160
return __builtin_neon_vfmsl_highv4sf (__r, __a, __b);
1816118161
}
1816218162

1816318163
__extension__ extern __inline float32x2_t
1816418164
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18165-
vfmlal_lane_low_u32 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
18165+
vfmlal_lane_low_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
1816618166
const int __index)
1816718167
{
1816818168
__builtin_arm_lane_check (4, __index);
@@ -18171,7 +18171,7 @@ vfmlal_lane_low_u32 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
1817118171

1817218172
__extension__ extern __inline float32x2_t
1817318173
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18174-
vfmlal_lane_high_u32 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
18174+
vfmlal_lane_high_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
1817518175
const int __index)
1817618176
{
1817718177
__builtin_arm_lane_check (4, __index);
@@ -18180,7 +18180,7 @@ vfmlal_lane_high_u32 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
1818018180

1818118181
__extension__ extern __inline float32x4_t
1818218182
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18183-
vfmlalq_laneq_low_u32 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
18183+
vfmlalq_laneq_low_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
1818418184
const int __index)
1818518185
{
1818618186
__builtin_arm_lane_check (8, __index);
@@ -18189,7 +18189,7 @@ vfmlalq_laneq_low_u32 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
1818918189

1819018190
__extension__ extern __inline float32x4_t
1819118191
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18192-
vfmlalq_lane_low_u32 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
18192+
vfmlalq_lane_low_f16 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
1819318193
const int __index)
1819418194
{
1819518195
__builtin_arm_lane_check (4, __index);
@@ -18198,7 +18198,7 @@ vfmlalq_lane_low_u32 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
1819818198

1819918199
__extension__ extern __inline float32x2_t
1820018200
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18201-
vfmlal_laneq_low_u32 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
18201+
vfmlal_laneq_low_f16 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
1820218202
const int __index)
1820318203
{
1820418204
__builtin_arm_lane_check (8, __index);
@@ -18207,7 +18207,7 @@ vfmlal_laneq_low_u32 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
1820718207

1820818208
__extension__ extern __inline float32x4_t
1820918209
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18210-
vfmlalq_laneq_high_u32 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
18210+
vfmlalq_laneq_high_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
1821118211
const int __index)
1821218212
{
1821318213
__builtin_arm_lane_check (8, __index);
@@ -18216,7 +18216,7 @@ vfmlalq_laneq_high_u32 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
1821618216

1821718217
__extension__ extern __inline float32x4_t
1821818218
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18219-
vfmlalq_lane_high_u32 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
18219+
vfmlalq_lane_high_f16 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
1822018220
const int __index)
1822118221
{
1822218222
__builtin_arm_lane_check (4, __index);
@@ -18225,7 +18225,7 @@ vfmlalq_lane_high_u32 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
1822518225

1822618226
__extension__ extern __inline float32x2_t
1822718227
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18228-
vfmlal_laneq_high_u32 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
18228+
vfmlal_laneq_high_f16 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
1822918229
const int __index)
1823018230
{
1823118231
__builtin_arm_lane_check (8, __index);
@@ -18234,7 +18234,7 @@ vfmlal_laneq_high_u32 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
1823418234

1823518235
__extension__ extern __inline float32x2_t
1823618236
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18237-
vfmlsl_lane_low_u32 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
18237+
vfmlsl_lane_low_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
1823818238
const int __index)
1823918239
{
1824018240
__builtin_arm_lane_check (4, __index);
@@ -18243,7 +18243,7 @@ vfmlsl_lane_low_u32 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
1824318243

1824418244
__extension__ extern __inline float32x2_t
1824518245
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18246-
vfmlsl_lane_high_u32 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
18246+
vfmlsl_lane_high_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
1824718247
const int __index)
1824818248
{
1824918249
__builtin_arm_lane_check (4, __index);
@@ -18252,7 +18252,7 @@ vfmlsl_lane_high_u32 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
1825218252

1825318253
__extension__ extern __inline float32x4_t
1825418254
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18255-
vfmlslq_laneq_low_u32 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
18255+
vfmlslq_laneq_low_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
1825618256
const int __index)
1825718257
{
1825818258
__builtin_arm_lane_check (8, __index);
@@ -18261,7 +18261,7 @@ vfmlslq_laneq_low_u32 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
1826118261

1826218262
__extension__ extern __inline float32x4_t
1826318263
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18264-
vfmlslq_lane_low_u32 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
18264+
vfmlslq_lane_low_f16 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
1826518265
const int __index)
1826618266
{
1826718267
__builtin_arm_lane_check (4, __index);
@@ -18270,7 +18270,7 @@ vfmlslq_lane_low_u32 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
1827018270

1827118271
__extension__ extern __inline float32x2_t
1827218272
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18273-
vfmlsl_laneq_low_u32 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
18273+
vfmlsl_laneq_low_f16 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
1827418274
const int __index)
1827518275
{
1827618276
__builtin_arm_lane_check (8, __index);
@@ -18279,7 +18279,7 @@ vfmlsl_laneq_low_u32 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
1827918279

1828018280
__extension__ extern __inline float32x4_t
1828118281
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18282-
vfmlslq_laneq_high_u32 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
18282+
vfmlslq_laneq_high_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
1828318283
const int __index)
1828418284
{
1828518285
__builtin_arm_lane_check (8, __index);
@@ -18288,7 +18288,7 @@ vfmlslq_laneq_high_u32 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
1828818288

1828918289
__extension__ extern __inline float32x4_t
1829018290
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18291-
vfmlslq_lane_high_u32 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
18291+
vfmlslq_lane_high_f16 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
1829218292
const int __index)
1829318293
{
1829418294
__builtin_arm_lane_check (4, __index);
@@ -18297,7 +18297,7 @@ vfmlslq_lane_high_u32 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
1829718297

1829818298
__extension__ extern __inline float32x2_t
1829918299
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18300-
vfmlsl_laneq_high_u32 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
18300+
vfmlsl_laneq_high_f16 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
1830118301
const int __index)
1830218302
{
1830318303
__builtin_arm_lane_check (8, __index);

gcc/config/arm/neon.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2473,8 +2473,8 @@
24732473
})
24742474

24752475
;; Used to implement the intrinsics:
2476-
;; float32x4_t vfmlalq_lane_low_u32 (float32x4_t r, float16x8_t a, float16x4_t b, const int lane)
2477-
;; float32x2_t vfmlal_laneq_low_u32 (float32x2_t r, float16x4_t a, float16x8_t b, const int lane)
2476+
;; float32x4_t vfmlalq_lane_low_f16 (float32x4_t r, float16x8_t a, float16x4_t b, const int lane)
2477+
;; float32x2_t vfmlal_laneq_low_f16 (float32x2_t r, float16x4_t a, float16x8_t b, const int lane)
24782478
;; Needs a bit of care to get the modes of the different sub-expressions right
24792479
;; due to 'a' and 'b' having different sizes and make sure we use the right
24802480
;; S or D subregister to select the appropriate lane from.
@@ -2510,8 +2510,8 @@
25102510
)
25112511

25122512
;; Used to implement the intrinsics:
2513-
;; float32x4_t vfmlalq_lane_high_u32 (float32x4_t r, float16x8_t a, float16x4_t b, const int lane)
2514-
;; float32x2_t vfmlal_laneq_high_u32 (float32x2_t r, float16x4_t a, float16x8_t b, const int lane)
2513+
;; float32x4_t vfmlalq_lane_high_f16 (float32x4_t r, float16x8_t a, float16x4_t b, const int lane)
2514+
;; float32x2_t vfmlal_laneq_high_f16 (float32x2_t r, float16x4_t a, float16x8_t b, const int lane)
25152515
;; Needs a bit of care to get the modes of the different sub-expressions right
25162516
;; due to 'a' and 'b' having different sizes and make sure we use the right
25172517
;; S or D subregister to select the appropriate lane from.
@@ -2607,8 +2607,8 @@
26072607
)
26082608

26092609
;; Used to implement the intrinsics:
2610-
;; float32x4_t vfmlslq_lane_low_u32 (float32x4_t r, float16x8_t a, float16x4_t b, const int lane)
2611-
;; float32x2_t vfmlsl_laneq_low_u32 (float32x2_t r, float16x4_t a, float16x8_t b, const int lane)
2610+
;; float32x4_t vfmlslq_lane_low_f16 (float32x4_t r, float16x8_t a, float16x4_t b, const int lane)
2611+
;; float32x2_t vfmlsl_laneq_low_f16 (float32x2_t r, float16x4_t a, float16x8_t b, const int lane)
26122612
;; Needs a bit of care to get the modes of the different sub-expressions right
26132613
;; due to 'a' and 'b' having different sizes and make sure we use the right
26142614
;; S or D subregister to select the appropriate lane from.
@@ -2645,8 +2645,8 @@
26452645
)
26462646

26472647
;; Used to implement the intrinsics:
2648-
;; float32x4_t vfmlslq_lane_high_u32 (float32x4_t r, float16x8_t a, float16x4_t b, const int lane)
2649-
;; float32x2_t vfmlsl_laneq_high_u32 (float32x2_t r, float16x4_t a, float16x8_t b, const int lane)
2648+
;; float32x4_t vfmlslq_lane_high_f16 (float32x4_t r, float16x8_t a, float16x4_t b, const int lane)
2649+
;; float32x2_t vfmlsl_laneq_high_f16 (float32x2_t r, float16x4_t a, float16x8_t b, const int lane)
26502650
;; Needs a bit of care to get the modes of the different sub-expressions right
26512651
;; due to 'a' and 'b' having different sizes and make sure we use the right
26522652
;; S or D subregister to select the appropriate lane from.

gcc/testsuite/ChangeLog

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,34 @@
1+
2019-02-25 Tamar Christina <[email protected]>
2+
3+
* gcc.target/arm/simd/fp16fml_high.c (test_vfmlal_high_u32,
4+
test_vfmlalq_high_u32, test_vfmlsl_high_u32, test_vfmlslq_high_u32):
5+
Rename ....
6+
(test_vfmlal_high_f16, test_vfmlalq_high_f16, test_vfmlsl_high_f16,
7+
test_vfmlslq_high_f16): ... To this.
8+
* gcc.target/arm/simd/fp16fml_lane_high.c (test_vfmlal_lane_high_u32,
9+
tets_vfmlsl_lane_high_u32, test_vfmlal_laneq_high_u32,
10+
test_vfmlsl_laneq_high_u32, test_vfmlalq_lane_high_u32,
11+
test_vfmlslq_lane_high_u32, test_vfmlalq_laneq_high_u32,
12+
test_vfmlslq_laneq_high_u32): Rename ...
13+
(test_vfmlal_lane_high_f16, tets_vfmlsl_lane_high_f16,
14+
test_vfmlal_laneq_high_f16, test_vfmlsl_laneq_high_f16,
15+
test_vfmlalq_lane_high_f16, test_vfmlslq_lane_high_f16,
16+
test_vfmlalq_laneq_high_f16, test_vfmlslq_laneq_high_f16): ... To this.
17+
* gcc.target/arm/simd/fp16fml_lane_low.c (test_vfmlal_lane_low_u32,
18+
test_vfmlsl_lane_low_u32, test_vfmlal_laneq_low_u32,
19+
test_vfmlsl_laneq_low_u32, test_vfmlalq_lane_low_u32,
20+
test_vfmlslq_lane_low_u32, test_vfmlalq_laneq_low_u32,
21+
test_vfmlslq_laneq_low_u32): Rename ...
22+
(test_vfmlal_lane_low_f16, test_vfmlsl_lane_low_f16,
23+
test_vfmlal_laneq_low_f16, test_vfmlsl_laneq_low_f16,
24+
test_vfmlalq_lane_low_f16, test_vfmlslq_lane_low_f16,
25+
test_vfmlalq_laneq_low_f16, test_vfmlslq_laneq_low_f16): ... To this.
26+
* gcc.target/arm/simd/fp16fml_low.c (test_vfmlal_low_u32,
27+
test_vfmlalq_low_u32, test_vfmlsl_low_u32, test_vfmlslq_low_u32):
28+
Rename ...
29+
(test_vfmlal_low_f16, test_vfmlalq_low_f16, test_vfmlsl_low_f16,
30+
test_vfmlslq_low_f16): ... To this.
31+
132
2019-02-25 Tamar Christina <[email protected]>
233

334
* gcc.target/aarch64/fp16_fmul_high.h (test_vfmlal_high_u32,

gcc/testsuite/gcc.target/arm/simd/fp16fml_high.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,27 @@
55
#include "arm_neon.h"
66

77
float32x2_t
8-
test_vfmlal_high_u32 (float32x2_t r, float16x4_t a, float16x4_t b)
8+
test_vfmlal_high_f16 (float32x2_t r, float16x4_t a, float16x4_t b)
99
{
10-
return vfmlal_high_u32 (r, a, b);
10+
return vfmlal_high_f16 (r, a, b);
1111
}
1212

1313
float32x4_t
14-
test_vfmlalq_high_u32 (float32x4_t r, float16x8_t a, float16x8_t b)
14+
test_vfmlalq_high_f16 (float32x4_t r, float16x8_t a, float16x8_t b)
1515
{
16-
return vfmlalq_high_u32 (r, a, b);
16+
return vfmlalq_high_f16 (r, a, b);
1717
}
1818

1919
float32x2_t
20-
test_vfmlsl_high_u32 (float32x2_t r, float16x4_t a, float16x4_t b)
20+
test_vfmlsl_high_f16 (float32x2_t r, float16x4_t a, float16x4_t b)
2121
{
22-
return vfmlsl_high_u32 (r, a, b);
22+
return vfmlsl_high_f16 (r, a, b);
2323
}
2424

2525
float32x4_t
26-
test_vfmlslq_high_u32 (float32x4_t r, float16x8_t a, float16x8_t b)
26+
test_vfmlslq_high_f16 (float32x4_t r, float16x8_t a, float16x8_t b)
2727
{
28-
return vfmlslq_high_u32 (r, a, b);
28+
return vfmlslq_high_f16 (r, a, b);
2929
}
3030

3131
/* { dg-final { scan-assembler-times {vfmal.f16\td[0-9]+, s[123]?[13579], s[123]?[13579]} 1 } } */

0 commit comments

Comments
 (0)