diff --git a/Cargo.toml b/Cargo.toml index fdbf8216a8..5b06a4275c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,7 +20,7 @@ bitflags = "1" bit-set = "0.5" codespan-reporting = { version = "0.11.0", optional = true } rustc-hash = "1.1.0" -indexmap = "1.6" # 1.7 has MSRV 1.49 +indexmap = "~1.6" # 1.7 has MSRV 1.49 log = "0.4" num-traits = "0.2" spirv = { version = "0.2", optional = true } diff --git a/src/back/spv/block.rs b/src/back/spv/block.rs index 64eaadcc9c..02f441885c 100644 --- a/src/back/spv/block.rs +++ b/src/back/spv/block.rs @@ -390,7 +390,7 @@ impl<'w> BlockContext<'w> { crate::BinaryOperator::Modulo => match left_ty_inner.scalar_kind() { Some(crate::ScalarKind::Sint) => spirv::Op::SMod, Some(crate::ScalarKind::Uint) => spirv::Op::UMod, - Some(crate::ScalarKind::Float) => spirv::Op::FMod, + Some(crate::ScalarKind::Float) => spirv::Op::FRem, _ => unimplemented!(), }, crate::BinaryOperator::Equal => match left_ty_inner.scalar_kind() { diff --git a/tests/out/spv/operators.spvasm b/tests/out/spv/operators.spvasm index 0b8ee6e965..514e9bfb8e 100644 --- a/tests/out/spv/operators.spvasm +++ b/tests/out/spv/operators.spvasm @@ -149,13 +149,13 @@ OpFunctionEnd OpBranch %118 %118 = OpLabel %119 = OpSMod %8 %7 %7 -%120 = OpFMod %4 %3 %3 +%120 = OpFRem %4 %3 %3 %122 = OpCompositeConstruct %121 %7 %7 %7 %123 = OpCompositeConstruct %121 %7 %7 %7 %124 = OpSMod %121 %122 %123 %125 = OpCompositeConstruct %22 %3 %3 %3 %126 = OpCompositeConstruct %22 %3 %3 %3 -%127 = OpFMod %22 %125 %126 +%127 = OpFRem %22 %125 %126 OpReturn OpFunctionEnd %129 = OpFunction %2 None %117