@@ -2463,6 +2463,7 @@ pub unsafe fn vhsubq_s32(a: int32x4_t, b: int32x4_t) -> int32x4_t {
2463
2463
}
2464
2464
2465
2465
#[ cfg( test) ]
2466
+ #[ allow( overflowing_literals) ]
2466
2467
mod test {
2467
2468
use super :: * ;
2468
2469
use crate :: core_arch:: simd:: * ;
@@ -3071,14 +3072,14 @@ mod test {
3071
3072
3072
3073
#[ simd_test( enable = "neon" ) ]
3073
3074
unsafe fn test_vceq_u8 ( ) {
3074
- let a: u8x8 = u8x8:: new ( 0x00 , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 ) ;
3075
- let b: u8x8 = u8x8:: new ( 0x00 , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 ) ;
3075
+ let a: u8x8 = u8x8:: new ( 0xFF , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 ) ;
3076
+ let b: u8x8 = u8x8:: new ( 0xFF , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 ) ;
3076
3077
let e: u8x8 = u8x8:: new ( 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF ) ;
3077
3078
let r: u8x8 = transmute ( vceq_u8 ( transmute ( a) , transmute ( b) ) ) ;
3078
3079
assert_eq ! ( r, e) ;
3079
3080
3080
- let a: u8x8 = u8x8:: new ( 0x00 , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 ) ;
3081
- let b: u8x8 = u8x8:: new ( 0x00 , 0x00 , 0x02 , 0x04 , 0x04 , 0x00 , 0x06 , 0x08 ) ;
3081
+ let a: u8x8 = u8x8:: new ( 0xFF , 0xFF , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 ) ;
3082
+ let b: u8x8 = u8x8:: new ( 0xFF , 0 , 0x02 , 0x04 , 0x04 , 0x00 , 0x06 , 0x08 ) ;
3082
3083
let e: u8x8 = u8x8:: new ( 0xFF , 0 , 0xFF , 0 , 0xFF , 0 , 0xFF , 0 ) ;
3083
3084
let r: u8x8 = transmute ( vceq_u8 ( transmute ( a) , transmute ( b) ) ) ;
3084
3085
assert_eq ! ( r, e) ;
@@ -3087,12 +3088,12 @@ mod test {
3087
3088
#[ simd_test( enable = "neon" ) ]
3088
3089
unsafe fn test_vceqq_u8 ( ) {
3089
3090
let a: u8x16 = u8x16:: new (
3090
- 0x00 , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 , 0x08 , 0x09 , 0x0A , 0x0B , 0x0C , 0x0D ,
3091
- 0x0E , 0x0F ,
3091
+ 0xFF , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 , 0x08 , 0x09 , 0x0A , 0x0B , 0x0C , 0x0D ,
3092
+ 0x0E , 0 ,
3092
3093
) ;
3093
3094
let b: u8x16 = u8x16:: new (
3094
- 0x00 , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 , 0x08 , 0x09 , 0x0A , 0x0B , 0x0C , 0x0D ,
3095
- 0x0E , 0x0F ,
3095
+ 0xFF , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 , 0x08 , 0x09 , 0x0A , 0x0B , 0x0C , 0x0D ,
3096
+ 0x0E , 0 ,
3096
3097
) ;
3097
3098
let e: u8x16 = u8x16:: new (
3098
3099
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF ,
@@ -3102,12 +3103,12 @@ mod test {
3102
3103
assert_eq ! ( r, e) ;
3103
3104
3104
3105
let a: u8x16 = u8x16:: new (
3105
- 0x00 , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 , 0x08 , 0x09 , 0x0A , 0x0B , 0x0C , 0x0D ,
3106
- 0x0E , 0x0F ,
3106
+ 0xFF , 0xFF , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 , 0x08 , 0x09 , 0x0A , 0x0B , 0xCC , 0x0D ,
3107
+ 0xEE , 0 ,
3107
3108
) ;
3108
3109
let b: u8x16 = u8x16:: new (
3109
- 0x00 , 0x00 , 0x02 , 0x04 , 0x04 , 0x00 , 0x06 , 0x08 , 0x08 , 0x00 , 0x0A , 0x0A , 0x0C , 0x10 ,
3110
- 0x0E , 0x1F ,
3110
+ 0xFF , 0 , 0x02 , 0x04 , 0x04 , 0x00 , 0x06 , 0x08 , 0x08 , 0x00 , 0x0A , 0x0A , 0xCC , 0xD0 , 0xEE ,
3111
+ 0xFF ,
3111
3112
) ;
3112
3113
let e: u8x16 = u8x16:: new (
3113
3114
0xFF , 0 , 0xFF , 0 , 0xFF , 0 , 0xFF , 0 , 0xFF , 0 , 0xFF , 0 , 0xFF , 0 , 0xFF , 0 ,
@@ -3118,76 +3119,76 @@ mod test {
3118
3119
3119
3120
#[ simd_test( enable = "neon" ) ]
3120
3121
unsafe fn test_vceq_u16 ( ) {
3121
- let a: u16x4 = u16x4:: new ( 0x00 , 0x01 , 0x02 , 0x03 ) ;
3122
- let b: u16x4 = u16x4:: new ( 0x00 , 0x01 , 0x02 , 0x03 ) ;
3122
+ let a: u16x4 = u16x4:: new ( 0xFF_FF , 0x01 , 0x02 , 0x03 ) ;
3123
+ let b: u16x4 = u16x4:: new ( 0xFF_FF , 0x01 , 0x02 , 0x03 ) ;
3123
3124
let e: u16x4 = u16x4:: new ( 0xFF_FF , 0xFF_FF , 0xFF_FF , 0xFF_FF ) ;
3124
3125
let r: u16x4 = transmute ( vceq_u16 ( transmute ( a) , transmute ( b) ) ) ;
3125
3126
assert_eq ! ( r, e) ;
3126
3127
3127
- let a: u16x4 = u16x4:: new ( 0x00 , 0x01 , 0x02 , 0x03 ) ;
3128
- let b: u16x4 = u16x4:: new ( 0x00 , 0x00 , 0x02 , 0x04 ) ;
3128
+ let a: u16x4 = u16x4:: new ( 0xFF_FF , 0xFF_FF , 0x02 , 0x03 ) ;
3129
+ let b: u16x4 = u16x4:: new ( 0xFF_FF , 0 , 0x02 , 0x04 ) ;
3129
3130
let e: u16x4 = u16x4:: new ( 0xFF_FF , 0 , 0xFF_FF , 0 ) ;
3130
3131
let r: u16x4 = transmute ( vceq_u16 ( transmute ( a) , transmute ( b) ) ) ;
3131
3132
assert_eq ! ( r, e) ;
3132
3133
}
3133
3134
3134
3135
#[ simd_test( enable = "neon" ) ]
3135
3136
unsafe fn test_vceqq_u16 ( ) {
3136
- let a: u16x8 = u16x8:: new ( 0x00 , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 ) ;
3137
- let b: u16x8 = u16x8:: new ( 0x00 , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 ) ;
3137
+ let a: u16x8 = u16x8:: new ( 0xFF_FF , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 ) ;
3138
+ let b: u16x8 = u16x8:: new ( 0xFF_FF , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 ) ;
3138
3139
let e: u16x8 = u16x8:: new (
3139
3140
0xFF_FF , 0xFF_FF , 0xFF_FF , 0xFF_FF , 0xFF_FF , 0xFF_FF , 0xFF_FF , 0xFF_FF ,
3140
3141
) ;
3141
3142
let r: u16x8 = transmute ( vceqq_u16 ( transmute ( a) , transmute ( b) ) ) ;
3142
3143
assert_eq ! ( r, e) ;
3143
3144
3144
- let a: u16x8 = u16x8:: new ( 0x00 , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 ) ;
3145
- let b: u16x8 = u16x8:: new ( 0x00 , 0x00 , 0x02 , 0x04 , 0x04 , 0x00 , 0x06 , 0x08 ) ;
3145
+ let a: u16x8 = u16x8:: new ( 0xFF_FF , 0xFF_FF , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 ) ;
3146
+ let b: u16x8 = u16x8:: new ( 0xFF_FF , 0 , 0x02 , 0x04 , 0x04 , 0x00 , 0x06 , 0x08 ) ;
3146
3147
let e: u16x8 = u16x8:: new ( 0xFF_FF , 0 , 0xFF_FF , 0 , 0xFF_FF , 0 , 0xFF_FF , 0 ) ;
3147
3148
let r: u16x8 = transmute ( vceqq_u16 ( transmute ( a) , transmute ( b) ) ) ;
3148
3149
assert_eq ! ( r, e) ;
3149
3150
}
3150
3151
3151
3152
#[ simd_test( enable = "neon" ) ]
3152
3153
unsafe fn test_vceq_u32 ( ) {
3153
- let a: u32x2 = u32x2:: new ( 0x00 , 0x01 ) ;
3154
- let b: u32x2 = u32x2:: new ( 0x00 , 0x01 ) ;
3154
+ let a: u32x2 = u32x2:: new ( 0xFF_FF_FF_FF , 0x01 ) ;
3155
+ let b: u32x2 = u32x2:: new ( 0xFF_FF_FF_FF , 0x01 ) ;
3155
3156
let e: u32x2 = u32x2:: new ( 0xFF_FF_FF_FF , 0xFF_FF_FF_FF ) ;
3156
3157
let r: u32x2 = transmute ( vceq_u32 ( transmute ( a) , transmute ( b) ) ) ;
3157
3158
assert_eq ! ( r, e) ;
3158
3159
3159
- let a: u32x2 = u32x2:: new ( 0x00 , 0x01 ) ;
3160
- let b: u32x2 = u32x2:: new ( 0x00 , 0x00 ) ;
3160
+ let a: u32x2 = u32x2:: new ( 0xFF_FF_FF_FF , 0xFF_FF_FF_FF ) ;
3161
+ let b: u32x2 = u32x2:: new ( 0xFF_FF_FF_FF , 0 ) ;
3161
3162
let e: u32x2 = u32x2:: new ( 0xFF_FF_FF_FF , 0 ) ;
3162
3163
let r: u32x2 = transmute ( vceq_u32 ( transmute ( a) , transmute ( b) ) ) ;
3163
3164
assert_eq ! ( r, e) ;
3164
3165
}
3165
3166
3166
3167
#[ simd_test( enable = "neon" ) ]
3167
3168
unsafe fn test_vceqq_u32 ( ) {
3168
- let a: u32x4 = u32x4:: new ( 0x00 , 0x01 , 0x02 , 0x03 ) ;
3169
- let b: u32x4 = u32x4:: new ( 0x00 , 0x01 , 0x02 , 0x03 ) ;
3169
+ let a: u32x4 = u32x4:: new ( 0xFF_FF_FF_FF , 0x01 , 0x02 , 0x03 ) ;
3170
+ let b: u32x4 = u32x4:: new ( 0xFF_FF_FF_FF , 0x01 , 0x02 , 0x03 ) ;
3170
3171
let e: u32x4 = u32x4:: new ( 0xFF_FF_FF_FF , 0xFF_FF_FF_FF , 0xFF_FF_FF_FF , 0xFF_FF_FF_FF ) ;
3171
3172
let r: u32x4 = transmute ( vceqq_u32 ( transmute ( a) , transmute ( b) ) ) ;
3172
3173
assert_eq ! ( r, e) ;
3173
3174
3174
- let a: u32x4 = u32x4:: new ( 0x00 , 0x01 , 0x02 , 0x03 ) ;
3175
- let b: u32x4 = u32x4:: new ( 0x00 , 0x00 , 0x02 , 0x04 ) ;
3175
+ let a: u32x4 = u32x4:: new ( 0xFF_FF_FF_FF , 0xFF_FF_FF_FF , 0x02 , 0x03 ) ;
3176
+ let b: u32x4 = u32x4:: new ( 0xFF_FF_FF_FF , 0 , 0x02 , 0x04 ) ;
3176
3177
let e: u32x4 = u32x4:: new ( 0xFF_FF_FF_FF , 0 , 0xFF_FF_FF_FF , 0 ) ;
3177
3178
let r: u32x4 = transmute ( vceqq_u32 ( transmute ( a) , transmute ( b) ) ) ;
3178
3179
assert_eq ! ( r, e) ;
3179
3180
}
3180
3181
3181
3182
#[ simd_test( enable = "neon" ) ]
3182
3183
unsafe fn test_vceq_s8 ( ) {
3183
- let a: i8x8 = i8x8:: new ( 0x00 , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 ) ;
3184
- let b: i8x8 = i8x8:: new ( 0x00 , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 ) ;
3184
+ let a: i8x8 = i8x8:: new ( 0x7F , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 ) ;
3185
+ let b: i8x8 = i8x8:: new ( 0x7F , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 ) ;
3185
3186
let e: u8x8 = u8x8:: new ( 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF ) ;
3186
3187
let r: u8x8 = transmute ( vceq_s8 ( transmute ( a) , transmute ( b) ) ) ;
3187
3188
assert_eq ! ( r, e) ;
3188
3189
3189
- let a: i8x8 = i8x8:: new ( 0x00 , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 ) ;
3190
- let b: i8x8 = i8x8:: new ( 0x00 , 0x00 , 0x02 , 0x04 , 0x04 , 0x00 , 0x06 , 0x08 ) ;
3190
+ let a: i8x8 = i8x8:: new ( 0x7F , 0x7F , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 ) ;
3191
+ let b: i8x8 = i8x8:: new ( 0x7F , - 128i8 , 0x02 , 0x04 , 0x04 , 0x00 , 0x06 , 0x08 ) ;
3191
3192
let e: u8x8 = u8x8:: new ( 0xFF , 0 , 0xFF , 0 , 0xFF , 0 , 0xFF , 0 ) ;
3192
3193
let r: u8x8 = transmute ( vceq_s8 ( transmute ( a) , transmute ( b) ) ) ;
3193
3194
assert_eq ! ( r, e) ;
@@ -3196,12 +3197,12 @@ mod test {
3196
3197
#[ simd_test( enable = "neon" ) ]
3197
3198
unsafe fn test_vceqq_s8 ( ) {
3198
3199
let a: i8x16 = i8x16:: new (
3199
- 0x00 , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 , 0x08 , 0x09 , 0x0A , 0x0B , 0x0C , 0x0D ,
3200
- 0x0E , 0x0F ,
3200
+ 0x7F , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 , 0x08 , 0x09 , 0x0A , 0x0B , 0x0C , 0x0D ,
3201
+ 0x0E , - 128i8 ,
3201
3202
) ;
3202
3203
let b: i8x16 = i8x16:: new (
3203
- 0x00 , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 , 0x08 , 0x09 , 0x0A , 0x0B , 0x0C , 0x0D ,
3204
- 0x0E , 0x0F ,
3204
+ 0x7F , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 , 0x08 , 0x09 , 0x0A , 0x0B , 0x0C , 0x0D ,
3205
+ 0x0E , - 128i8 ,
3205
3206
) ;
3206
3207
let e: u8x16 = u8x16:: new (
3207
3208
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF ,
@@ -3211,12 +3212,12 @@ mod test {
3211
3212
assert_eq ! ( r, e) ;
3212
3213
3213
3214
let a: i8x16 = i8x16:: new (
3214
- 0x00 , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 , 0x08 , 0x09 , 0x0A , 0x0B , 0x0C , 0x0D ,
3215
- 0x0E , 0x0F ,
3215
+ 0x7F , 0x7F , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 , 0x08 , 0x09 , 0x0A , 0x0B , 0xCC , 0x0D ,
3216
+ 0xEE , - 128i8 ,
3216
3217
) ;
3217
3218
let b: i8x16 = i8x16:: new (
3218
- 0x00 , 0x00 , 0x02 , 0x04 , 0x04 , 0x00 , 0x06 , 0x08 , 0x08 , 0x00 , 0x0A , 0x0A , 0x0C , 0x10 ,
3219
- 0x0E , 0x1F ,
3219
+ 0x7F , - 128i8 , 0x02 , 0x04 , 0x04 , 0x00 , 0x06 , 0x08 , 0x08 , 0x00 , 0x0A , 0x0A , 0xCC , 0xD0 ,
3220
+ 0xEE , 0x7F ,
3220
3221
) ;
3221
3222
let e: u8x16 = u8x16:: new (
3222
3223
0xFF , 0 , 0xFF , 0 , 0xFF , 0 , 0xFF , 0 , 0xFF , 0 , 0xFF , 0 , 0xFF , 0 , 0xFF , 0 ,
@@ -3227,61 +3228,61 @@ mod test {
3227
3228
3228
3229
#[ simd_test( enable = "neon" ) ]
3229
3230
unsafe fn test_vceq_s16 ( ) {
3230
- let a: i16x4 = i16x4:: new ( 0x00 , 0x01 , 0x02 , 0x03 ) ;
3231
- let b: i16x4 = i16x4:: new ( 0x00 , 0x01 , 0x02 , 0x03 ) ;
3231
+ let a: i16x4 = i16x4:: new ( 0x7F_FF , 0x01 , 0x02 , 0x03 ) ;
3232
+ let b: i16x4 = i16x4:: new ( 0x7F_FF , 0x01 , 0x02 , 0x03 ) ;
3232
3233
let e: u16x4 = u16x4:: new ( 0xFF_FF , 0xFF_FF , 0xFF_FF , 0xFF_FF ) ;
3233
3234
let r: u16x4 = transmute ( vceq_s16 ( transmute ( a) , transmute ( b) ) ) ;
3234
3235
assert_eq ! ( r, e) ;
3235
3236
3236
- let a: i16x4 = i16x4:: new ( 0x00 , 0x01 , 0x02 , 0x03 ) ;
3237
- let b: i16x4 = i16x4:: new ( 0x00 , 0x00 , 0x02 , 0x04 ) ;
3237
+ let a: i16x4 = i16x4:: new ( 0x7F_FF , 0x7F_FF , 0x02 , 0x03 ) ;
3238
+ let b: i16x4 = i16x4:: new ( 0x7F_FF , - 32768i16 , 0x02 , 0x04 ) ;
3238
3239
let e: u16x4 = u16x4:: new ( 0xFF_FF , 0 , 0xFF_FF , 0 ) ;
3239
3240
let r: u16x4 = transmute ( vceq_s16 ( transmute ( a) , transmute ( b) ) ) ;
3240
3241
assert_eq ! ( r, e) ;
3241
3242
}
3242
3243
3243
3244
#[ simd_test( enable = "neon" ) ]
3244
3245
unsafe fn test_vceqq_s16 ( ) {
3245
- let a: i16x8 = i16x8:: new ( 0x00 , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 ) ;
3246
- let b: i16x8 = i16x8:: new ( 0x00 , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 ) ;
3246
+ let a: i16x8 = i16x8:: new ( 0x7F_FF , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 ) ;
3247
+ let b: i16x8 = i16x8:: new ( 0x7F_FF , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 ) ;
3247
3248
let e: u16x8 = u16x8:: new (
3248
3249
0xFF_FF , 0xFF_FF , 0xFF_FF , 0xFF_FF , 0xFF_FF , 0xFF_FF , 0xFF_FF , 0xFF_FF ,
3249
3250
) ;
3250
3251
let r: u16x8 = transmute ( vceqq_s16 ( transmute ( a) , transmute ( b) ) ) ;
3251
3252
assert_eq ! ( r, e) ;
3252
3253
3253
- let a: i16x8 = i16x8:: new ( 0x00 , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 ) ;
3254
- let b: i16x8 = i16x8:: new ( 0x00 , 0x00 , 0x02 , 0x04 , 0x04 , 0x00 , 0x06 , 0x08 ) ;
3254
+ let a: i16x8 = i16x8:: new ( 0x7F_FF , 0x7F_FF , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 ) ;
3255
+ let b: i16x8 = i16x8:: new ( 0x7F_FF , - 32768i16 , 0x02 , 0x04 , 0x04 , 0x00 , 0x06 , 0x08 ) ;
3255
3256
let e: u16x8 = u16x8:: new ( 0xFF_FF , 0 , 0xFF_FF , 0 , 0xFF_FF , 0 , 0xFF_FF , 0 ) ;
3256
3257
let r: u16x8 = transmute ( vceqq_s16 ( transmute ( a) , transmute ( b) ) ) ;
3257
3258
assert_eq ! ( r, e) ;
3258
3259
}
3259
3260
3260
3261
#[ simd_test( enable = "neon" ) ]
3261
3262
unsafe fn test_vceq_s32 ( ) {
3262
- let a: i32x2 = i32x2:: new ( 0x00 , 0x01 ) ;
3263
- let b: i32x2 = i32x2:: new ( 0x00 , 0x01 ) ;
3263
+ let a: i32x2 = i32x2:: new ( 0x7F_FF_FF_FF , 0x01 ) ;
3264
+ let b: i32x2 = i32x2:: new ( 0x7F_FF_FF_FF , 0x01 ) ;
3264
3265
let e: u32x2 = u32x2:: new ( 0xFF_FF_FF_FF , 0xFF_FF_FF_FF ) ;
3265
3266
let r: u32x2 = transmute ( vceq_s32 ( transmute ( a) , transmute ( b) ) ) ;
3266
3267
assert_eq ! ( r, e) ;
3267
3268
3268
- let a: i32x2 = i32x2:: new ( 0x00 , 0x01 ) ;
3269
- let b: i32x2 = i32x2:: new ( 0x00 , 0x00 ) ;
3269
+ let a: i32x2 = i32x2:: new ( 0x7F_FF_FF_FF , 0x7F_FF_FF_FF ) ;
3270
+ let b: i32x2 = i32x2:: new ( 0x7F_FF_FF_FF , - 2147483648i32 ) ;
3270
3271
let e: u32x2 = u32x2:: new ( 0xFF_FF_FF_FF , 0 ) ;
3271
3272
let r: u32x2 = transmute ( vceq_s32 ( transmute ( a) , transmute ( b) ) ) ;
3272
3273
assert_eq ! ( r, e) ;
3273
3274
}
3274
3275
3275
3276
#[ simd_test( enable = "neon" ) ]
3276
3277
unsafe fn test_vceqq_s32 ( ) {
3277
- let a: i32x4 = i32x4:: new ( 0x00 , 0x01 , 0x02 , 0x03 ) ;
3278
- let b: i32x4 = i32x4:: new ( 0x00 , 0x01 , 0x02 , 0x03 ) ;
3278
+ let a: i32x4 = i32x4:: new ( 0x7F_FF_FF_FF , 0x01 , 0x02 , 0x03 ) ;
3279
+ let b: i32x4 = i32x4:: new ( 0x7F_FF_FF_FF , 0x01 , 0x02 , 0x03 ) ;
3279
3280
let e: u32x4 = u32x4:: new ( 0xFF_FF_FF_FF , 0xFF_FF_FF_FF , 0xFF_FF_FF_FF , 0xFF_FF_FF_FF ) ;
3280
3281
let r: u32x4 = transmute ( vceqq_s32 ( transmute ( a) , transmute ( b) ) ) ;
3281
3282
assert_eq ! ( r, e) ;
3282
3283
3283
- let a: i32x4 = i32x4:: new ( 0x00 , 0x01 , 0x02 , 0x03 ) ;
3284
- let b: i32x4 = i32x4:: new ( 0x00 , 0x00 , 0x02 , 0x04 ) ;
3284
+ let a: i32x4 = i32x4:: new ( 0x7F_FF_FF_FF , 0x7F_FF_FF_FF , 0x02 , 0x03 ) ;
3285
+ let b: i32x4 = i32x4:: new ( 0x7F_FF_FF_FF , - 2147483648i32 , 0x02 , 0x04 ) ;
3285
3286
let e: u32x4 = u32x4:: new ( 0xFF_FF_FF_FF , 0 , 0xFF_FF_FF_FF , 0 ) ;
3286
3287
let r: u32x4 = transmute ( vceqq_s32 ( transmute ( a) , transmute ( b) ) ) ;
3287
3288
assert_eq ! ( r, e) ;
0 commit comments