| ... | @@ -18,7 +18,7 @@ pub fn suggestVectorLengthForCpu(comptime T: type, comptime cpu: std.Target.Cpu) | ... | @@ -18,7 +18,7 @@ pub fn suggestVectorLengthForCpu(comptime T: type, comptime cpu: std.Target.Cpu) |
| 18 | if (std.Target.x86.featureSetHasAny(cpu.features, .{ .prefer_256_bit, .avx2 }) and !std.Target.x86.featureSetHas(cpu.features, .prefer_128_bit)) break :blk 256; | 18 | if (std.Target.x86.featureSetHasAny(cpu.features, .{ .prefer_256_bit, .avx2 }) and !std.Target.x86.featureSetHas(cpu.features, .prefer_128_bit)) break :blk 256; |
| 19 | if (std.Target.x86.featureSetHas(cpu.features, .sse)) break :blk 128; | 19 | if (std.Target.x86.featureSetHas(cpu.features, .sse)) break :blk 128; |
| 20 | if (std.Target.x86.featureSetHasAny(cpu.features, .{ .mmx, .@"3dnow" })) break :blk 64; | 20 | if (std.Target.x86.featureSetHasAny(cpu.features, .{ .mmx, .@"3dnow" })) break :blk 64; |
| 21 | } else if (cpu.arch.isARM()) { | 21 | } else if (cpu.arch.isArmOrThumb()) { |
| 22 | if (std.Target.arm.featureSetHas(cpu.features, .neon)) break :blk 128; | 22 | if (std.Target.arm.featureSetHas(cpu.features, .neon)) break :blk 128; |
| 23 | } else if (cpu.arch.isAARCH64()) { | 23 | } else if (cpu.arch.isAARCH64()) { |
| 24 | // SVE allows up to 2048 bits in the specification, as of 2022 the most powerful machine has implemented 512-bit | 24 | // SVE allows up to 2048 bits in the specification, as of 2022 the most powerful machine has implemented 512-bit |