[PATCH] D98339: Test cases for rem-seteq fold with illegal types

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 11 13:34:40 PST 2021


craig.topper added inline comments.


================
Comment at: llvm/test/CodeGen/RISCV/urem-seteq-illegal-types.ll:417
+
+define <3 x i1> @test_urem_vec(<3 x i11> %X) nounwind {
+; RV32-LABEL: test_urem_vec:
----------------
nagisa wrote:
> craig.topper wrote:
> > nagisa wrote:
> > > craig.topper wrote:
> > > > Fixed size vectors on RISCV are scalarized unless you pass a value to -riscv-v-vector-bits-min command line option. Enabling the V extension by itself is not sufficient.
> > > Ah, I see! Unfortunately enabling the option causes the backend to assert today :(
> > > 
> > > I'll file some bug reports.
> > We don't support fixed vector arguments or returns yet either. There's an open patch for it. Loads/store of vectors should work.
> I ended up filing https://bugs.llvm.org/show_bug.cgi?id=49549
> 
> (and https://bugs.llvm.org/show_bug.cgi?id=49550)
> 
> ---
> 
> Besides that do you have any suggestions on how to best proceed here? I could remove or comment out the test case that involves vectors for now, but it is not clear to me if that's the best way forward.
Can you use something like this?

```
define void @test_urem_vec(<3 x i11>* %X) nounwind {                                                                                                                                                                                                                                                                                                                                                                                                                     
  %a = load <3 x i11>, <3 x i11>* %X                                                                                                                                                                                                                                                                                                                                                                                                                                     
  %urem = urem <3 x i11> %a, <i11 6, i11 7, i11 -5>                                                                                                                                                                                                                                                                                                                                                                                                                      
  %cmp = icmp ne <3 x i11> %urem, <i11 0, i11 1, i11 2>                                                                                                                                                                                                                                                                                                                                                                                                                  
  %ext = sext <3 x i1> %cmp to <3 x i11>                                                                                                                                                                                                                                                                                                                                                                                                                                 
  store <3 x i11> %ext, <3 x i11>* %X                                                                                                                                                                                                                                                                                                                                                                                                                                    
  ret void                                                                                                                                                                                                                                                                                                                                                                                                                                                               
} 
```


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D98339/new/

https://reviews.llvm.org/D98339



More information about the llvm-commits mailing list