[llvm] [X86][GlobalISel] Enable G_SDIV/G_UDIV/G_SREM/G_UREM (PR #81615)
Evgenii Kudriashov via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 28 08:24:18 PST 2024
================
@@ -0,0 +1,116 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -global-isel=0 -mtriple=x86_64-linux-gnu | FileCheck %s --check-prefixes=X64
+; RUN: llc < %s -fast-isel -fast-isel-abort=1 -mtriple=x86_64-linux-gnu | FileCheck %s --check-prefixes=X64
+; RUN: llc < %s -global-isel -global-isel-abort=1 -mtriple=x86_64-linux-gnu | FileCheck %s --check-prefixes=X64
+; RUN: llc < %s -global-isel=0 -mtriple=i686-linux-gnu | FileCheck %s --check-prefixes=X86,DAG-X86
+; RUN: llc < %s -fast-isel -fast-isel-abort=1 -mtriple=i686-linux-gnu | FileCheck %s --check-prefixes=X86,DAG-X86
+; RUN: llc < %s -global-isel -global-isel-abort=1 -mtriple=i686-linux-gnu | FileCheck %s --check-prefixes=X86,GISEL-X86
+
+define i8 @test_sdiv_i8(i8 %arg1, i8 %arg2) nounwind {
----------------
e-kud wrote:
@arsenm the vector work is in parallel with scalar instruction. We've started with some basics `G_BUILD_VECTOR` and `G_INSERT/EXTRACT_VECTOR_ELT`. We'll reiterate all operations ones more with adding tests for vector operands.
@RKSimon I agree with splitting vector/scalar cases, as well as float/scalar in some situations. I'm mostly motivated by creating a generic testsuite that can be reused for other targets when they start adding GlobalISel support incrementally. I'm slightly struggling with existing mixed vector/float/int tests that I need to split for GlobalISel testing as not everything's implemented or to duplicate them.
However maybe this is not feasible as after some time there will be tests for non-standard sizes like `i42` that nobody will support at early stages.
https://github.com/llvm/llvm-project/pull/81615
More information about the llvm-commits
mailing list