()
| 1250 | |
| 1251 | #[test] |
| 1252 | fn value_set() { |
| 1253 | use crate::ir::types::*; |
| 1254 | |
| 1255 | let vts = ValueTypeSet { |
| 1256 | lanes: BitSet16::from_range(0, 8), |
| 1257 | ints: BitSet8::from_range(4, 7), |
| 1258 | floats: BitSet8::from_range(0, 0), |
| 1259 | dynamic_lanes: BitSet16::from_range(0, 4), |
| 1260 | }; |
| 1261 | assert!(!vts.contains(I8)); |
| 1262 | assert!(vts.contains(I32)); |
| 1263 | assert!(vts.contains(I64)); |
| 1264 | assert!(vts.contains(I32X4)); |
| 1265 | assert!(vts.contains(I32X4XN)); |
| 1266 | assert!(!vts.contains(F16)); |
| 1267 | assert!(!vts.contains(F32)); |
| 1268 | assert!(!vts.contains(F128)); |
| 1269 | assert_eq!(vts.example().to_string(), "i32"); |
| 1270 | |
| 1271 | let vts = ValueTypeSet { |
| 1272 | lanes: BitSet16::from_range(0, 8), |
| 1273 | ints: BitSet8::from_range(0, 0), |
| 1274 | floats: BitSet8::from_range(5, 7), |
| 1275 | dynamic_lanes: BitSet16::from_range(0, 8), |
| 1276 | }; |
| 1277 | assert_eq!(vts.example().to_string(), "f32"); |
| 1278 | |
| 1279 | let vts = ValueTypeSet { |
| 1280 | lanes: BitSet16::from_range(1, 8), |
| 1281 | ints: BitSet8::from_range(0, 0), |
| 1282 | floats: BitSet8::from_range(5, 7), |
| 1283 | dynamic_lanes: BitSet16::from_range(0, 8), |
| 1284 | }; |
| 1285 | assert_eq!(vts.example().to_string(), "f32x2"); |
| 1286 | |
| 1287 | let vts = ValueTypeSet { |
| 1288 | lanes: BitSet16::from_range(2, 8), |
| 1289 | ints: BitSet8::from_range(3, 7), |
| 1290 | floats: BitSet8::from_range(0, 0), |
| 1291 | dynamic_lanes: BitSet16::from_range(0, 8), |
| 1292 | }; |
| 1293 | assert_eq!(vts.example().to_string(), "i32x4"); |
| 1294 | |
| 1295 | let vts = ValueTypeSet { |
| 1296 | // TypeSet(lanes=(1, 256), ints=(8, 64)) |
| 1297 | lanes: BitSet16::from_range(0, 9), |
| 1298 | ints: BitSet8::from_range(3, 7), |
| 1299 | floats: BitSet8::from_range(0, 0), |
| 1300 | dynamic_lanes: BitSet16::from_range(0, 8), |
| 1301 | }; |
| 1302 | assert!(vts.contains(I32)); |
| 1303 | assert!(vts.contains(I32X4)); |
| 1304 | } |
| 1305 | |
| 1306 | #[test] |
| 1307 | fn instruction_data_map() { |
nothing calls this directly
no test coverage detected