Coverity[*] points out:

    *** CID 1264337:  Logically dead code  (DEADCODE)
    /target-tricore/translate.c: 348 in gen_mtcr()
    342     #define E(ADDRESS, REG, FEATURE) A(ADDRESS, REG, FEATURE)
    343 static inline void gen_mtcr(CPUTriCoreState *env, DisasContext
    *ctx, TCGv r1,
    344                                 int32_t offset)
    345     {
    346         if (ctx->hflags & TRICORE_HFLAG_SM) {
    347             /* since we're caching PSW make this a special case */
    >>>     CID 1264337:  Logically dead code  (DEADCODE)
    >>>     Execution cannot reach this statement: "if (offset == 65028) {
      ge...".
    348             if (offset == 0xfe04) {
    349                 gen_helper_psw_write(cpu_env, r1);
    350             } else {
    351                 switch (offset) {
    352     #include "csfr.def"
    353                 }

Correct, because TRICORE_HFLAG_SM is zero:

    #define TRICORE_HFLAG_UM0     0x00002 /* user mode-0 flag          */
    #define TRICORE_HFLAG_UM1     0x00001 /* user mode-1 flag          */
    #define TRICORE_HFLAG_SM      0x00000 /* kernel mode flag          */

Shouls this perhaps be (ctx->hflags & (1 << TRICORE_HFLAG_SM))?

[*] https://scan.coverity.com/projects/378

Reply via email to