|
1 | 1 | use super::constraint::Constraint;
|
| 2 | +use crate::base_intrinsictype_trait_def_macro; |
2 | 3 | use crate::common::argument::ArgumentList;
|
3 | 4 | use crate::common::format::Indentation;
|
4 | 5 | use crate::common::intrinsic::{Intrinsic, IntrinsicDefinition};
|
5 | 6 | use crate::common::intrinsic_types::{
|
6 |
| - BaseIntrinsicTypeDefinition, IntrinsicType, IntrinsicTypeDefinition, TypeKind, |
| 7 | + BaseIntrinsicTypeDefinition, IntrinsicTypeDefinition, TypeKind, |
7 | 8 | };
|
8 | 9 | use crate::common::types::Language;
|
9 | 10 |
|
10 |
| -#[derive(Debug, Clone, PartialEq)] |
11 |
| -pub struct ArmIntrinsicType(pub IntrinsicType); |
12 |
| - |
13 |
| -impl BaseIntrinsicTypeDefinition for ArmIntrinsicType { |
14 |
| - fn kind(&self) -> TypeKind { |
15 |
| - self.0.kind() |
16 |
| - } |
17 |
| - fn inner_size(&self) -> u32 { |
18 |
| - self.0.inner_size() |
19 |
| - } |
20 |
| - fn num_lanes(&self) -> u32 { |
21 |
| - self.0.num_lanes() |
22 |
| - } |
23 |
| - fn num_vectors(&self) -> u32 { |
24 |
| - self.0.num_vectors() |
25 |
| - } |
26 |
| - fn is_simd(&self) -> bool { |
27 |
| - self.0.is_simd() |
28 |
| - } |
29 |
| - fn is_ptr(&self) -> bool { |
30 |
| - self.0.is_ptr() |
31 |
| - } |
32 |
| - fn c_scalar_type(&self) -> String { |
33 |
| - self.0.c_scalar_type() |
34 |
| - } |
35 |
| - fn rust_scalar_type(&self) -> String { |
36 |
| - self.0.rust_scalar_type() |
37 |
| - } |
38 |
| - fn c_promotion(&self) -> &str { |
39 |
| - self.0.c_promotion() |
40 |
| - } |
41 |
| - fn populate_random(&self, indentation: Indentation, loads: u32, language: &Language) -> String { |
42 |
| - self.0.populate_random(indentation, loads, language) |
43 |
| - } |
44 |
| - fn is_rust_vals_array_const(&self) -> bool { |
45 |
| - self.0.is_rust_vals_array_const() |
46 |
| - } |
47 |
| - fn as_call_param_c(&self, name: &String) -> String { |
48 |
| - self.0.as_call_param_c(name) |
49 |
| - } |
50 |
| -} |
| 11 | +base_intrinsictype_trait_def_macro! {ArmIntrinsicType} |
51 | 12 |
|
52 | 13 | impl IntrinsicDefinition<ArmIntrinsicType, Constraint> for Intrinsic<ArmIntrinsicType, Constraint> {
|
53 | 14 | fn arguments(&self) -> ArgumentList<ArmIntrinsicType, Constraint> {
|
|
0 commit comments