@@ -6963,11 +6963,11 @@ intrinsics:
69636963 - *neon-stable
69646964 safety : safe
69656965 types :
6966- - [int16x8_t, int32x4_t, int16x4_t, '[4, 5, 6, 7]' ]
6967- - [int32x4_t, int64x2_t, int32x2_t, '[2, 3]' ]
6966+ - [int16x8_t, int32x4_t]
6967+ - [int32x4_t, int64x2_t]
69686968 compose :
6969- - Let : [a, "{neon_type[2]}", { FnCall: [simd_shuffle!, [a, a, '{type[3 ]}']]}]
6970- - Let : [b, "{neon_type[2]}", { FnCall: [simd_shuffle!, [b, b, '{type[3 ]}']]}]
6969+ - Let : [a, { FnCall: ['vget_high_{neon_type[0 ]}', [a ]]}]
6970+ - Let : [b, { FnCall: ['vget_high_{neon_type[0 ]}', [b ]]}]
69716971 - FnCall : ["vqdmull{neon_type[0].noq}", [a, b]]
69726972
69736973 - name : " vqdmull_high_n_{type[1]}"
@@ -6979,11 +6979,11 @@ intrinsics:
69796979 - *neon-stable
69806980 safety : safe
69816981 types :
6982- - [int16x8_t, "i16", int32x4_t, int16x4_t, '[4, 5, 6, 7]' ]
6983- - [int32x4_t, "i32", int64x2_t, int32x2_t, '[2, 3]' ]
6982+ - [int16x8_t, "i16", int32x4_t]
6983+ - [int32x4_t, "i32", int64x2_t]
69846984 compose :
6985- - Let : [a, "{neon_type[3]}", { FnCall: [simd_shuffle!, [a, a, "{type[4]}" ]]}]
6986- - Let : [b, "{neon_type[3]}", {FnCall: ["vdup_n{neon_type[0].noq}", [b]]}]
6985+ - Let : [a, { FnCall: ['vget_high_{neon_type[0]}', [a ]]}]
6986+ - Let : [b, {FnCall: ["vdup_n{neon_type[0].noq}", [b]]}]
69876987 - FnCall : ["vqdmull{neon_type[0].noq}", [a, b]]
69886988
69896989 - name : " vqdmull{type[3]}"
@@ -7038,7 +7038,7 @@ intrinsics:
70387038 - Let : [b, "{type[0]}", {FnCall: ['vget{neon_type[1].lane_nox}', [b], [N]]}]
70397039 - FnCall : ["vqdmulls_s32", [a, b]]
70407040
7041- - name : " vqdmull{type[6 ]}"
7041+ - name : " vqdmull{type[3 ]}"
70427042 doc : " Signed saturating doubling multiply long"
70437043 arguments : ["a: {neon_type[0]}", "b: {neon_type[1]}"]
70447044 return_type : " {neon_type[2]}"
@@ -7049,12 +7049,12 @@ intrinsics:
70497049 static_defs : ['const N: i32']
70507050 safety : safe
70517051 types :
7052- - [int16x8_t, int16x4_t, int32x4_t, int16x4_t, '[4, 5, 6, 7]', '[N as u32, N as u32, N as u32, N as u32]', '_high_lane_s16']
7053- - [int32x4_t, int32x4_t, int64x2_t, int32x2_t, '[2, 3]', '[N as u32, N as u32]', '_high_laneq_s32']
7052+ - [int16x8_t, int16x4_t, int32x4_t, '_high_lane_s16']
7053+ - [int32x4_t, int32x4_t, int64x2_t, '_high_laneq_s32']
70547054 compose :
70557055 - FnCall : [static_assert_uimm_bits!, [N, '2']]
7056- - Let : [a, "{neon_type[3]}", { FnCall: [simd_shuffle!, [a, a, "{type[4]}" ]]}]
7057- - Let : [b, "{ neon_type[3]}", {FnCall: [simd_shuffle!, [b, b, "{type[5]}" ]]}]
7056+ - Let : [a, { FnCall: ['vget_high_{neon_type[0]}', [a ]]}]
7057+ - Let : [b, {FnCall: ['vdup_lane{ neon_type[1].nox}', [b], [N ]]}]
70587058 - FnCall : ["vqdmull{neon_type[0].noq}", [a, b]]
70597059
70607060 - name : " vqdmull_high_lane_s32"
@@ -7068,11 +7068,11 @@ intrinsics:
70687068 static_defs : ['const N: i32']
70697069 safety : safe
70707070 types :
7071- - [int32x4_t, int32x2_t, int64x2_t, int32x2_t, '[2, 3]', '[N as u32, N as u32]' ]
7071+ - [int32x4_t, int32x2_t, int64x2_t]
70727072 compose :
70737073 - FnCall : [static_assert_uimm_bits!, [N, '1']]
7074- - Let : [a, "{neon_type[3]}", { FnCall: [simd_shuffle!, [a, a, "{type[4]}" ]]}]
7075- - Let : [b, "{ neon_type[3]}", {FnCall: [simd_shuffle!, [b, b, "{type[5]}" ]]}]
7074+ - Let : [a, { FnCall: ['vget_high_{neon_type[0]}', [a ]]}]
7075+ - Let : [b, {FnCall: ['vdup_lane{ neon_type[1].nox}', [b], [N ]]}]
70767076 - FnCall : ["vqdmull{neon_type[0].noq}", [a, b]]
70777077
70787078 - name : " vqdmull_high_laneq_s16"
@@ -7086,11 +7086,11 @@ intrinsics:
70867086 static_defs : ['const N: i32']
70877087 safety : safe
70887088 types :
7089- - [int16x8_t, int16x8_t, int32x4_t, int16x4_t, '[4, 5, 6, 7]', '[N as u32, N as u32, N as u32, N as u32]' ]
7089+ - [int16x8_t, int16x8_t, int32x4_t]
70907090 compose :
70917091 - FnCall : [static_assert_uimm_bits!, [N, '3']]
7092- - Let : [a, "{neon_type[3]}", { FnCall: [simd_shuffle!, [a, a, "{type[4]}" ]]}]
7093- - Let : [b, "{ neon_type[3]}", {FnCall: [simd_shuffle!, [b, b, "{type[5]}" ]]}]
7092+ - Let : [a, { FnCall: ['vget_high_{neon_type[0]}', [a ]]}]
7093+ - Let : [b, {FnCall: ['vdup_lane{ neon_type[1].nox}', [b], [N ]]}]
70947094 - FnCall : ["vqdmull{neon_type[0].noq}", [a, b]]
70957095
70967096 - name : " vqdmull_laneq_s16"
@@ -7104,10 +7104,10 @@ intrinsics:
71047104 static_defs : ['const N: i32']
71057105 safety : safe
71067106 types :
7107- - [int16x4_t, int16x8_t, int32x4_t, '[N as u32, N as u32, N as u32, N as u32]' ]
7107+ - [int16x4_t, int16x8_t, int32x4_t]
71087108 compose :
71097109 - FnCall : [static_assert_uimm_bits!, [N, '3']]
7110- - Let : [b, "{ neon_type[0]}", {FnCall: [simd_shuffle!, [b, b, "{type[3]}" ]]}]
7110+ - Let : [b, {FnCall: ['vdup_lane{ neon_type[1].nox}', [b], [N ]]}]
71117111 - FnCall : [vqdmull_s16, [a, b]]
71127112
71137113 - name : " vqdmull_laneq_s32"
@@ -7121,10 +7121,10 @@ intrinsics:
71217121 static_defs : ['const N: i32']
71227122 safety : safe
71237123 types :
7124- - [int32x2_t, int32x4_t, int64x2_t, '[N as u32, N as u32]' ]
7124+ - [int32x2_t, int32x4_t, int64x2_t]
71257125 compose :
71267126 - FnCall : [static_assert_uimm_bits!, [N, '2']]
7127- - Let : [b, "{ neon_type[0]}", {FnCall: [simd_shuffle!, [b, b, "{type[3]}" ]]}]
7127+ - Let : [b, {FnCall: ['vdup_lane{ neon_type[1].nox}', [b], [N ]]}]
71287128 - FnCall : [vqdmull_s32, [a, b]]
71297129
71307130 - name : " vqdmlal{type[4]}"
0 commit comments