[PATCH] D122709: [RISCV] Enable cross basic block aware writevxrm insertion
    ShihPo Hung via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Sat Apr  2 09:22:45 PDT 2022
    
    
  
arcbbb added a comment.
In D122709#3419837 <https://reviews.llvm.org/D122709#3419837>, @kito-cheng wrote:
> Hmm, I think that made the dynamic rounding mode become unexpected/random rounding mode, give following example, the behavior `vaddd` in `foo` is unpredictably, `vaddd` in foo will operated with current rounding mode if the bar is inlined, but it will become `rnu` once bar inlined, I really think we should restore that for those static rounding mode stuffs.
>
>   foo:
>     call bar
>     vaddd
>   
>   bar:
>     vaadd.rm rnu
The summary mentioned that this assumed that `vxrm` is call-clobbered,
so in this case after the bar() return , `vxrm` should be set explicitly before the next vaadd with dynamic round mode.
Repository:
  rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D122709/new/
https://reviews.llvm.org/D122709
    
    
More information about the llvm-commits
mailing list