On Thu, Feb 11, 2021 at 01:49:14PM +0000, Konopik, Andreas (EFS-GH2) wrote: > Hi Philippe, > > > From: Philippe Mathieu-Daudé <philippe.mathieu.da...@gmail.com> On > > Behalf Of Philippe Mathieu-Daudé > > Sent: Thursday, February 11, 2021 13:10 > > Hi David and Andreas, > > > > On 2/11/21 12:53 PM, David Brenken wrote: > > > From: Andreas Konopik <andreas.kono...@efs-auto.de> > > > > Here is a good place to explain why you need this change, how did you > > noticed it (example of opcode and conditions reaching this issue) - > > eventually > > provide a reproducer (asm dump could be enough) - and also eventually a > > reference to the manual (chapter, table) justifying your change. > > > > See also: > > https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html > > https://chris.beams.io/posts/git-commit/#why-not-how > > I appreciate your feedback and will write more verbose commit messages in > the future. > > According to the TC 1.3.1. Architecture Manual [1; page 174], results are > undefined, if pos + width > 32 or if width = 0.
While editing the commit message of this patch, I realized that we are not checking for width=0. A quick test let to: qemu-system-tricore: ../upstream/tcg/tcg-op.c:217: tcg_gen_sari_i32: Assertion `arg2 >= 0 && arg2 < 32' failed. As Richard suggested that is not what should happen in case of undefined behaviour. I'll fix this in a another patch. Cheers, Bastian