Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package spirv-llvm-translator for openSUSE:Factory checked in at 2025-07-17 17:17:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/spirv-llvm-translator (Old) and /work/SRC/openSUSE:Factory/.spirv-llvm-translator.new.8875 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "spirv-llvm-translator" Thu Jul 17 17:17:01 2025 rev:22 rq:1293649 version:20.1.4 Changes: -------- --- /work/SRC/openSUSE:Factory/spirv-llvm-translator/spirv-llvm-translator.changes 2025-06-10 08:56:39.390015477 +0200 +++ /work/SRC/openSUSE:Factory/.spirv-llvm-translator.new.8875/spirv-llvm-translator.changes 2025-07-17 17:17:08.643708234 +0200 @@ -1,0 +2,8 @@ +Thu Jul 10 21:42:56 UTC 2025 - Aaron Puchert <aaronpuch...@alice-dsl.net> + +- Update to version 20.1.4. + * Fix crash on coopmat conversion without decoration. + * Remove internal values for SPV_INTEL_cache_controls pt.2. + * Remove SPV_INTEL_fast_composite extension. + +------------------------------------------------------------------- Old: ---- SPIRV-LLVM-Translator-20.1.3.tar.gz New: ---- SPIRV-LLVM-Translator-20.1.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ spirv-llvm-translator.spec ++++++ --- /var/tmp/diff_new_pack.rba6Jm/_old 2025-07-17 17:17:10.823798692 +0200 +++ /var/tmp/diff_new_pack.rba6Jm/_new 2025-07-17 17:17:10.835799190 +0200 @@ -23,7 +23,7 @@ %define sover 20 Name: spirv-llvm-translator -Version: 20.1.3 +Version: 20.1.4 Release: 0 Summary: LLVM/SPIR-V Bi-Directional Translator library License: BSD-3-Clause ++++++ SPIRV-LLVM-Translator-20.1.3.tar.gz -> SPIRV-LLVM-Translator-20.1.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SPIRV-LLVM-Translator-20.1.3/.github/workflows/check-code-style.yml new/SPIRV-LLVM-Translator-20.1.4/.github/workflows/check-code-style.yml --- old/SPIRV-LLVM-Translator-20.1.3/.github/workflows/check-code-style.yml 2025-05-15 10:45:53.000000000 +0200 +++ new/SPIRV-LLVM-Translator-20.1.4/.github/workflows/check-code-style.yml 2025-06-12 16:28:03.000000000 +0200 @@ -29,7 +29,7 @@ jobs: clang-format-and-tidy: name: clang-format & clang-tidy - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Checkout sources uses: actions/checkout@v4 @@ -64,7 +64,7 @@ # launched, so, we need to setup llvm package to perform cmake # configuration step to generate that database curl -L "https://apt.llvm.org/llvm-snapshot.gpg.key" | sudo apt-key add - - echo "deb https://apt.llvm.org/focal/ llvm-toolchain-focal-20 main" | sudo tee -a /etc/apt/sources.list + echo "deb https://apt.llvm.org/jammy/ llvm-toolchain-jammy-20 main" | sudo tee -a /etc/apt/sources.list sudo apt-get update sudo apt-get install -yqq \ clang-format-${{ env.LLVM_VERSION }} clang-tidy-${{ env.LLVM_VERSION }} \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SPIRV-LLVM-Translator-20.1.3/include/LLVMSPIRVExtensions.inc new/SPIRV-LLVM-Translator-20.1.4/include/LLVMSPIRVExtensions.inc --- old/SPIRV-LLVM-Translator-20.1.3/include/LLVMSPIRVExtensions.inc 2025-05-15 10:45:53.000000000 +0200 +++ new/SPIRV-LLVM-Translator-20.1.4/include/LLVMSPIRVExtensions.inc 2025-06-12 16:28:03.000000000 +0200 @@ -35,7 +35,7 @@ EXT(SPV_INTEL_optimization_hints) EXT(SPV_INTEL_float_controls2) EXT(SPV_INTEL_vector_compute) -EXT(SPV_INTEL_fast_composite) +EXT(SPV_INTEL_fast_composite) // TODO: to remove EXT(SPV_INTEL_usm_storage_classes) EXT(SPV_INTEL_fpga_buffer_location) EXT(SPV_INTEL_arbitrary_precision_fixed_point) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SPIRV-LLVM-Translator-20.1.3/lib/SPIRV/PreprocessMetadata.cpp new/SPIRV-LLVM-Translator-20.1.4/lib/SPIRV/PreprocessMetadata.cpp --- old/SPIRV-LLVM-Translator-20.1.3/lib/SPIRV/PreprocessMetadata.cpp 2025-05-15 10:45:53.000000000 +0200 +++ new/SPIRV-LLVM-Translator-20.1.4/lib/SPIRV/PreprocessMetadata.cpp 2025-06-12 16:28:03.000000000 +0200 @@ -359,12 +359,6 @@ .add(SLMSize) .done(); } - if (Attrs.hasFnAttr(kVCMetadata::VCFCEntry)) { - EM.addOp() - .add(&F) - .add(spv::internal::ExecutionModeFastCompositeKernelINTEL) - .done(); - } if (Attrs.hasFnAttr(kVCMetadata::VCNamedBarrierCount)) { SPIRVWord NBarrierCnt = 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SPIRV-LLVM-Translator-20.1.3/lib/SPIRV/SPIRVReader.cpp new/SPIRV-LLVM-Translator-20.1.4/lib/SPIRV/SPIRVReader.cpp --- old/SPIRV-LLVM-Translator-20.1.3/lib/SPIRV/SPIRVReader.cpp 2025-05-15 10:45:53.000000000 +0200 +++ new/SPIRV-LLVM-Translator-20.1.4/lib/SPIRV/SPIRVReader.cpp 2025-06-12 16:28:03.000000000 +0200 @@ -2976,7 +2976,8 @@ if (isCvtOpCode(OC) && OC != OpGenericCastToPtrExplicit) { auto *BI = static_cast<SPIRVInstruction *>(BV); Value *Inst = nullptr; - if (BI->hasFPRoundingMode() || BI->isSaturatedConversion()) + if (BI->hasFPRoundingMode() || BI->isSaturatedConversion() || + BI->getType()->isTypeCooperativeMatrixKHR()) Inst = transSPIRVBuiltinFromInst(BI, BB); else Inst = transConvertInst(BV, F, BB); @@ -4627,12 +4628,6 @@ if (BM->getDesiredBIsRepresentation() == BIsRepresentation::SPIRVFriendlyIR) transFunctionDecorationsToMetadata(BF, F); - if (BF->hasDecorate(internal::DecorationCallableFunctionINTEL)) - F->addFnAttr(kVCMetadata::VCCallable); - if (isKernel(BF) && - BF->getExecutionMode(internal::ExecutionModeFastCompositeKernelINTEL)) - F->addFnAttr(kVCMetadata::VCFCEntry); - if (F->getCallingConv() != CallingConv::SPIR_KERNEL) continue; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SPIRV-LLVM-Translator-20.1.3/lib/SPIRV/SPIRVWriter.cpp new/SPIRV-LLVM-Translator-20.1.4/lib/SPIRV/SPIRVWriter.cpp --- old/SPIRV-LLVM-Translator-20.1.3/lib/SPIRV/SPIRVWriter.cpp 2025-05-15 10:45:53.000000000 +0200 +++ new/SPIRV-LLVM-Translator-20.1.4/lib/SPIRV/SPIRVWriter.cpp 2025-06-12 16:28:03.000000000 +0200 @@ -1013,11 +1013,6 @@ BF->addDecorate(DecorationReferencedIndirectlyINTEL); } - if (Attrs.hasFnAttr(kVCMetadata::VCCallable) && - BM->isAllowedToUseExtension(ExtensionID::SPV_INTEL_fast_composite)) { - BF->addDecorate(internal::DecorationCallableFunctionINTEL); - } - if (BM->isAllowedToUseExtension(ExtensionID::SPV_INTEL_vector_compute)) transVectorComputeMetadata(F); @@ -6230,11 +6225,6 @@ break; AddSingleArgExecutionMode(static_cast<ExecutionMode>(EMode)); } break; - case spv::internal::ExecutionModeFastCompositeKernelINTEL: { - if (BM->isAllowedToUseExtension(ExtensionID::SPV_INTEL_fast_composite)) - BF->addExecutionMode(BM->add(new SPIRVExecutionMode( - OpExecutionMode, BF, static_cast<ExecutionMode>(EMode)))); - } break; case spv::internal::ExecutionModeNamedSubgroupSizeINTEL: { if (!BM->isAllowedToUseExtension( ExtensionID::SPV_INTEL_subgroup_requirements)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SPIRV-LLVM-Translator-20.1.3/lib/SPIRV/libSPIRV/SPIRVDecorate.h new/SPIRV-LLVM-Translator-20.1.4/lib/SPIRV/libSPIRV/SPIRVDecorate.h --- old/SPIRV-LLVM-Translator-20.1.3/lib/SPIRV/libSPIRV/SPIRVDecorate.h 2025-05-15 10:45:53.000000000 +0200 +++ new/SPIRV-LLVM-Translator-20.1.4/lib/SPIRV/libSPIRV/SPIRVDecorate.h 2025-06-12 16:28:03.000000000 +0200 @@ -182,8 +182,6 @@ return ExtensionID::SPV_INTEL_fpga_cluster_attributes; case DecorationFuseLoopsInFunctionINTEL: return ExtensionID::SPV_INTEL_loop_fuse; - case internal::DecorationCallableFunctionINTEL: - return ExtensionID::SPV_INTEL_fast_composite; case DecorationMathOpDSPModeINTEL: return ExtensionID::SPV_INTEL_fpga_dsp_control; case DecorationInitiationIntervalINTEL: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SPIRV-LLVM-Translator-20.1.3/lib/SPIRV/libSPIRV/SPIRVEntry.h new/SPIRV-LLVM-Translator-20.1.4/lib/SPIRV/libSPIRV/SPIRVEntry.h --- old/SPIRV-LLVM-Translator-20.1.3/lib/SPIRV/libSPIRV/SPIRVEntry.h 2025-05-15 10:45:53.000000000 +0200 +++ new/SPIRV-LLVM-Translator-20.1.4/lib/SPIRV/libSPIRV/SPIRVEntry.h 2025-06-12 16:28:03.000000000 +0200 @@ -910,8 +910,6 @@ case CapabilityVectorComputeINTEL: case CapabilityVectorAnyINTEL: return ExtensionID::SPV_INTEL_vector_compute; - case internal::CapabilityFastCompositeINTEL: - return ExtensionID::SPV_INTEL_fast_composite; case internal::CapabilitySubgroupRequirementsINTEL: return ExtensionID::SPV_INTEL_subgroup_requirements; case CapabilityFPFastMathModeINTEL: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SPIRV-LLVM-Translator-20.1.3/lib/SPIRV/libSPIRV/SPIRVEnum.h new/SPIRV-LLVM-Translator-20.1.4/lib/SPIRV/libSPIRV/SPIRVEnum.h --- old/SPIRV-LLVM-Translator-20.1.3/lib/SPIRV/libSPIRV/SPIRVEnum.h 2025-05-15 10:45:53.000000000 +0200 +++ new/SPIRV-LLVM-Translator-20.1.4/lib/SPIRV/libSPIRV/SPIRVEnum.h 2025-06-12 16:28:03.000000000 +0200 @@ -288,8 +288,6 @@ {CapabilityFloatingPointModeINTEL}); ADD_VEC_INIT(ExecutionModeSharedLocalMemorySizeINTEL, {CapabilityVectorComputeINTEL}); - ADD_VEC_INIT(internal::ExecutionModeFastCompositeKernelINTEL, - {internal::CapabilityFastCompositeINTEL}); ADD_VEC_INIT(ExecutionModeRegisterMapInterfaceINTEL, {CapabilityFPGAKernelAttributesv2INTEL}); ADD_VEC_INIT(ExecutionModeStreamingInterfaceINTEL, @@ -471,8 +469,6 @@ ADD_VEC_INIT(DecorationAliasScopeINTEL, {CapabilityMemoryAccessAliasingINTEL}); ADD_VEC_INIT(DecorationNoAliasINTEL, {CapabilityMemoryAccessAliasingINTEL}); - ADD_VEC_INIT(internal::DecorationCallableFunctionINTEL, - {internal::CapabilityFastCompositeINTEL}); ADD_VEC_INIT(DecorationMediaBlockIOINTEL, {CapabilityVectorComputeINTEL}); ADD_VEC_INIT(DecorationStallEnableINTEL, {CapabilityFPGAClusterAttributesINTEL}); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SPIRV-LLVM-Translator-20.1.3/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h new/SPIRV-LLVM-Translator-20.1.4/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h --- old/SPIRV-LLVM-Translator-20.1.3/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h 2025-05-15 10:45:53.000000000 +0200 +++ new/SPIRV-LLVM-Translator-20.1.4/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h 2025-06-12 16:28:03.000000000 +0200 @@ -212,7 +212,6 @@ add(DecorationCacheControlStoreINTEL, "CacheControlStoreINTEL"); // From spirv_internal.hpp - add(internal::DecorationCallableFunctionINTEL, "CallableFunctionINTEL"); add(internal::DecorationRuntimeAlignedINTEL, "RuntimeAlignedINTEL"); add(internal::DecorationHostAccessINTEL, "HostAccessINTEL"); add(internal::DecorationInitModeINTEL, "InitModeINTEL"); @@ -640,6 +639,7 @@ add(CapabilityFPGAArgumentInterfacesINTEL, "FPGAArgumentInterfacesINTEL"); add(CapabilityFPGALatencyControlINTEL, "FPGALatencyControlINTEL"); add(CapabilityFPMaxErrorINTEL, "FPMaxErrorINTEL"); + add(CapabilityCacheControlsINTEL, "CacheControlsINTEL"); add(CapabilityRegisterLimitsINTEL, "RegisterLimitsINTEL"); add(CapabilityBFloat16TypeKHR, "BFloat16TypeKHR"); add(CapabilityBFloat16DotProductKHR, "BFloat16DotProductKHR"); @@ -651,7 +651,6 @@ add(CapabilitySubgroupMatrixMultiplyAccumulateINTEL, "SubgroupMatrixMultiplyAccumulateINTEL"); // From spirv_internal.hpp - add(internal::CapabilityFastCompositeINTEL, "FastCompositeINTEL"); add(internal::CapabilityTokenTypeINTEL, "TokenTypeINTEL"); add(internal::CapabilityJointMatrixINTEL, "JointMatrixINTEL"); add(internal::CapabilityHWThreadQueryINTEL, "HWThreadQueryINTEL"); @@ -671,7 +670,6 @@ "JointMatrixPackedInt2ComponentTypeINTEL"); add(internal::CapabilityJointMatrixPackedInt4ComponentTypeINTEL, "JointMatrixPackedInt4ComponentTypeINTEL"); - add(internal::CapabilityCacheControlsINTEL, "CacheControlsINTEL"); add(internal::CapabilityCooperativeMatrixPrefetchINTEL, "CooperativeMatrixPrefetchINTEL"); add(internal::CapabilityCooperativeMatrixInvocationInstructionsINTEL, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SPIRV-LLVM-Translator-20.1.3/lib/SPIRV/libSPIRV/spirv_internal.hpp new/SPIRV-LLVM-Translator-20.1.4/lib/SPIRV/libSPIRV/spirv_internal.hpp --- old/SPIRV-LLVM-Translator-20.1.3/lib/SPIRV/libSPIRV/spirv_internal.hpp 2025-05-15 10:45:53.000000000 +0200 +++ new/SPIRV-LLVM-Translator-20.1.4/lib/SPIRV/libSPIRV/spirv_internal.hpp 2025-06-12 16:28:03.000000000 +0200 @@ -103,7 +103,6 @@ }; enum InternalCapability { - ICapFastCompositeINTEL = 6093, ICapTokenTypeINTEL = 6112, ICapabilityJointMatrixINTEL = 6118, ICapabilityHWThreadQueryINTEL = 6134, @@ -121,13 +120,11 @@ ICapabilityJointMatrixBF16ComponentTypeINTEL = 6437, ICapabilityJointMatrixPackedInt2ComponentTypeINTEL = 6438, ICapabilityJointMatrixPackedInt4ComponentTypeINTEL = 6439, - ICapabilityCacheControlsINTEL = 6441, ICapabilitySubgroupRequirementsINTEL = 6445, ICapabilityBindlessImagesINTEL = 6528 }; enum InternalExecutionMode { - IExecModeFastCompositeKernelINTEL = 6088, IExecModeNamedSubgroupSizeINTEL = 6446, }; @@ -204,8 +201,6 @@ _SPIRV_OP(Capability, TensorFloat32RoundingINTEL) _SPIRV_OP(Op, RoundFToTF32INTEL) -_SPIRV_OP(Capability, CacheControlsINTEL) - _SPIRV_OP(Capability, SubgroupRequirementsINTEL) _SPIRV_OP(Capability, TaskSequenceINTEL) @@ -265,8 +260,6 @@ constexpr Op OpForward = static_cast<Op>(IOpForward); constexpr Op OpTypeTokenINTEL = static_cast<Op>(IOpTypeTokenINTEL); -constexpr Decoration DecorationCallableFunctionINTEL = - static_cast<Decoration>(IDecCallableFunctionINTEL); constexpr Decoration DecorationRuntimeAlignedINTEL = static_cast<Decoration>(IDecRuntimeAlignedINTEL); constexpr Decoration DecorationHostAccessINTEL = @@ -278,16 +271,11 @@ constexpr Decoration DecorationArgumentAttributeINTEL = static_cast<Decoration>(IDecArgumentAttributeINTEL); -constexpr Capability CapabilityFastCompositeINTEL = - static_cast<Capability>(ICapFastCompositeINTEL); constexpr Capability CapabilityTokenTypeINTEL = static_cast<Capability>(ICapTokenTypeINTEL); constexpr Capability CapabilityGlobalVariableDecorationsINTEL = static_cast<Capability>(ICapGlobalVariableDecorationsINTEL); -constexpr ExecutionMode ExecutionModeFastCompositeKernelINTEL = - static_cast<ExecutionMode>(IExecModeFastCompositeKernelINTEL); - constexpr ExecutionMode ExecutionModeNamedSubgroupSizeINTEL = static_cast<ExecutionMode>(IExecModeNamedSubgroupSizeINTEL); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SPIRV-LLVM-Translator-20.1.3/test/extensions/INTEL/SPV_INTEL_fast_composite/callable-attribute-decoration.ll new/SPIRV-LLVM-Translator-20.1.4/test/extensions/INTEL/SPV_INTEL_fast_composite/callable-attribute-decoration.ll --- old/SPIRV-LLVM-Translator-20.1.3/test/extensions/INTEL/SPV_INTEL_fast_composite/callable-attribute-decoration.ll 2025-05-15 10:45:53.000000000 +0200 +++ new/SPIRV-LLVM-Translator-20.1.4/test/extensions/INTEL/SPV_INTEL_fast_composite/callable-attribute-decoration.ll 1970-01-01 01:00:00.000000000 +0100 @@ -1,19 +0,0 @@ -; RUN: llvm-as %s -o %t.bc -; RUN: llvm-spirv %t.bc -o %t.spv --spirv-ext=+SPV_INTEL_fast_composite -; RUN: llvm-spirv %t.spv -o %t.spt --to-text -; RUN: FileCheck < %t.spt %s --check-prefix=CHECK-SPIRV -; RUN: llvm-spirv %t.spv -o %t.bc -r -; RUN: llvm-dis %t.bc -o %t.ll -; RUN: FileCheck < %t.ll %s --check-prefix=CHECK-LLVM -target triple = "spir64" - - -define dso_local <4 x i32> @foo(<4 x i32> %a, <4 x i32> %b) #0 { -entry: - ret <4 x i32> %a -} -; CHECK-SPIRV: 3 Decorate {{[0-9]+}} CallableFunctionINTEL -; CHECK-LLVM: attributes -; CHECK-LLVM-SAME: "VCCallable" - -attributes #0 = { "VCCallable" "VCFunction" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SPIRV-LLVM-Translator-20.1.3/test/extensions/INTEL/SPV_INTEL_fast_composite/fast-composit-entry.ll new/SPIRV-LLVM-Translator-20.1.4/test/extensions/INTEL/SPV_INTEL_fast_composite/fast-composit-entry.ll --- old/SPIRV-LLVM-Translator-20.1.3/test/extensions/INTEL/SPV_INTEL_fast_composite/fast-composit-entry.ll 2025-05-15 10:45:53.000000000 +0200 +++ new/SPIRV-LLVM-Translator-20.1.4/test/extensions/INTEL/SPV_INTEL_fast_composite/fast-composit-entry.ll 1970-01-01 01:00:00.000000000 +0100 @@ -1,40 +0,0 @@ -; RUN: llvm-as %s -o %t.bc -; RUN: llvm-spirv %t.bc -o %t.spv --spirv-ext=+SPV_INTEL_fast_composite -; RUN: llvm-spirv %t.spv -o %t.spt --to-text -; RUN: FileCheck < %t.spt %s --check-prefix=CHECK-SPIRV -; RUN: llvm-spirv %t.spv -o %t.bc -r -; RUN: llvm-dis %t.bc -o %t.ll -; RUN: FileCheck < %t.ll %s --check-prefix=CHECK-LLVM - -target triple = "spir64-unknown-unknown" - - -; CHECK-SPIRV: {{[0-9]+}} EntryPoint {{[0-9]+}} [[#FOO_ID:]] "foo" -; CHECK-SPIRV: {{[0-9]+}} EntryPoint {{[0-9]+}} [[#BAR_ID:]] "bar" -; CHECK-SPIRV: 3 ExecutionMode [[#FOO_ID]] 6088 -; CHECK-SPIRV-NOT: 3 ExecutionMode [[#BAR_ID]] 6088 - -; CHECK-LLVM: define spir_kernel void @foo -; CHECK-LLVM-SAME: #[[#FOO_ATTR_ID:]] -; CHECK-LLVM: define spir_kernel void @bar -; CHECK-LLVM-SAME: #[[#BAR_ATTR_ID:]] - -; CHECK-LLVM: attributes #[[#FOO_ATTR_ID]] -; CHECK-LLVM-SAME: "VCFCEntry" -; CHECK-LLVM: attributes #[[#BAR_ATTR_ID]] -; CHECK-LLVM-NOT: "VCFCEntry" - - -define spir_kernel void @foo(<4 x i32> %a, <4 x i32> %b) #0 { -entry: - ret void -} - -define spir_kernel void @bar(<4 x i32> %a, <4 x i32> %b) #1 { -entry: - ret void -} - -attributes #0 = { noinline nounwind "VCFCEntry" "VCFloatControl"="0" "VCFunction" } -attributes #1 = { noinline nounwind "VCFloatControl"="48" "VCFunction" } - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SPIRV-LLVM-Translator-20.1.3/test/extensions/KHR/SPV_KHR_cooperative_matrix/conversion_instructions.ll new/SPIRV-LLVM-Translator-20.1.4/test/extensions/KHR/SPV_KHR_cooperative_matrix/conversion_instructions.ll --- old/SPIRV-LLVM-Translator-20.1.3/test/extensions/KHR/SPV_KHR_cooperative_matrix/conversion_instructions.ll 2025-05-15 10:45:53.000000000 +0200 +++ new/SPIRV-LLVM-Translator-20.1.4/test/extensions/KHR/SPV_KHR_cooperative_matrix/conversion_instructions.ll 2025-06-12 16:28:03.000000000 +0200 @@ -45,6 +45,19 @@ } ; CHECK-SPIRV: CompositeConstruct [[#MatrixTypeFloat]] [[#MatrixIn:]] [[#]] {{$}} +; CHECK-SPIRV: ConvertFToU [[#MatrixTypeInt32]] [[#]] [[#MatrixIn]] + +; CHECK-LLVM: %[[#Matrix:]] = call spir_func target("spirv.CooperativeMatrixKHR", float, 3, 12, 12, 2) @_Z26__spirv_CompositeConstructf(float 0.000000e+00) +; CHECK-LLVM: call spir_func target("spirv.CooperativeMatrixKHR", i32, 3, 12, 12, 2) @_Z73__spirv_ConvertFToU_RPU3AS144__spirv_CooperativeMatrixKHR__uint_3_12_12_2PU3AS145__spirv_CooperativeMatrixKHR__float_3_12_12_2(target("spirv.CooperativeMatrixKHR", float, 3, 12, 12, 2) %[[#Matrix]]) + +define void @convert_f_to_u_no_fproundingmode() { +entry: + %0 = tail call spir_func noundef target("spirv.CooperativeMatrixKHR", float, 3, 12, 12, 2) @_Z26__spirv_CompositeConstructFloat(float 0.000000e+00) + %call = call spir_func target("spirv.CooperativeMatrixKHR", i32, 3, 12, 12, 2) @_Z73__spirv_ConvertFToU_RPU3AS144__spirv_CooperativeMatrixKHR__uint_3_12_12_2PU3AS145__spirv_CooperativeMatrixKHR__float_3_12_12_2(target("spirv.CooperativeMatrixKHR", float, 3, 12, 12, 2) %0) + ret void +} + +; CHECK-SPIRV: CompositeConstruct [[#MatrixTypeFloat]] [[#MatrixIn:]] [[#]] {{$}} ; CHECK-SPIRV: ConvertFToS [[#MatrixTypeInt32]] [[#]] [[#MatrixIn]] ; CHECK-LLVM: %[[#Matrix:]] = call spir_func target("spirv.CooperativeMatrixKHR", float, 3, 12, 12, 2) @_Z26__spirv_CompositeConstructf(float 0.000000e+00) @@ -132,6 +145,8 @@ declare spir_func noundef target("spirv.CooperativeMatrixKHR", i8, 3, 12, 12, 2) @_Z26__spirv_CompositeConstructInt8(i8 noundef) +declare spir_func noundef target("spirv.CooperativeMatrixKHR", i32, 3, 12, 12, 2) @_Z73__spirv_ConvertFToU_RPU3AS144__spirv_CooperativeMatrixKHR__uint_3_12_12_2PU3AS145__spirv_CooperativeMatrixKHR__float_3_12_12_2(target("spirv.CooperativeMatrixKHR", float, 3, 12, 12, 2) noundef) + declare spir_func noundef target("spirv.CooperativeMatrixKHR", i32, 3, 12, 12, 2) @_Z77__spirv_ConvertFToU_RPU3AS144__spirv_CooperativeMatrixKHR__uint_3_12_12_2_rtpPU3AS145__spirv_CooperativeMatrixKHR__float_3_12_12_2(target("spirv.CooperativeMatrixKHR", float, 3, 12, 12, 2) noundef) declare spir_func noundef target("spirv.CooperativeMatrixKHR", i32, 3, 12, 12, 2) @_Z77__spirv_ConvertFToS_RPU3AS144__spirv_CooperativeMatrixKHR__uint_3_12_12_2_rtpPU3AS145__spirv_CooperativeMatrixKHR__float_3_12_12_2(target("spirv.CooperativeMatrixKHR", float, 3, 12, 12, 2) noundef)