Skip to content

SIMD comparison operators are always signed. #21719

Closed
@eddyb

Description

@eddyb

The compiler always emits signed SIMD comparison instructions, even for unsigned element types:

use std::simd::u32x4;
u32x4(1, 2, 3, 1 << 31) < u32x4(2, 3, 4, 0)
// => u32x4(4294967295, 4294967295, 4294967295, 4294967295)
// i.e. <true, true, true, true>. expected <true, true, true, false>

Metadata

Metadata

Assignees

Labels

A-codegenArea: Code generation

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions