Skip to content

Commit e317caf

Browse files
author
Marcin Kościelnicki
committed
envydis/gf100: ignore predicates on joinat etc.
1 parent 1e29dc8 commit e317caf

File tree

1 file changed

+19
-16
lines changed

1 file changed

+19
-16
lines changed

envydis/gf100.c

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,9 @@ static struct vec adsts_v = { "r", &dst_bf, &asrcs_cnt, 0 };
324324
#define ASRCS atomvec, &asrcs_v
325325
#define ADSTS atomvec, &adsts_v
326326

327+
static int ignpred[] = { 0xa, 4 };
328+
#define IGNPRED atomign, ignpred
329+
327330
/*
328331
* Memory fields
329332
*/
@@ -1995,32 +1998,32 @@ static struct insn tabc[] = {
19951998
{ 0x0000000000004007ull, 0xf800000000004007ull, T(p), T(cc), N("bra"), T(lim), T(brawarp), FCONSTNR },
19961999
{ 0x0800000000000007ull, 0xf800000000004007ull, T(p), T(cc), N("bra"), T(lim), SRC1, N("abs"), ANTARG },
19972000
{ 0x0800000000004007ull, 0xf800000000004007ull, T(p), T(cc), N("bra"), T(lim), FCONST },
1998-
{ 0x1000000000000007ull, 0xf800000000004007ull, N("call"), T(lim), N("abs"), ACTARG },
1999-
{ 0x1000000000004007ull, 0xf800000000004007ull, N("call"), T(lim), FCONSTNR },
2001+
{ 0x1000000000000007ull, 0xf800000000004007ull, IGNPRED, N("call"), T(lim), N("abs"), ACTARG },
2002+
{ 0x1000000000004007ull, 0xf800000000004007ull, IGNPRED, N("call"), T(lim), FCONSTNR },
20002003
{ 0x2000000000000007ull, 0xf000000000000007ull, N("sched"), SCHED(0), SCHED(1), SCHED(2), SCHED(3), SCHED(4), SCHED(5), SCHED(6), .fmask = F_GK104 },
20012004
{ 0x4000000000000007ull, 0xf800000000000007ull, T(p), T(cc), N("bra"), T(lim), T(brawarp), T(btarg) },
20022005
{ 0x4800000000000007ull, 0xf800000000004007ull, T(p), T(cc), N("bra"), T(lim), SRC1, NTARG },
20032006
{ 0x4800000000004007ull, 0xf800000000004007ull, T(p), T(cc), N("bra"), T(lim), N("pcrel"), FCONST },
2004-
{ 0x5000000000000007ull, 0xf800000000004007ull, N("call"), T(lim), CTARG },
2005-
{ 0x5000000000004007ull, 0xf800000000004007ull, N("call"), T(lim), N("pcrel"), FCONSTNR },
2006-
{ 0x5800000000000007ull, 0xf800000000000007ull, N("prelongjmp"), T(btarg) },
2007-
{ 0x6000000000000007ull, 0xf800000000000007ull, N("joinat"), T(btarg) },
2008-
{ 0x6800000000000007ull, 0xf800000000000007ull, N("prebrk"), T(btarg) },
2009-
{ 0x7000000000000007ull, 0xf800000000000007ull, N("precont"), T(btarg) },
2010-
{ 0x7800000000000007ull, 0xf800000000000007ull, N("preret"), T(lim), T(btarg) },
2007+
{ 0x5000000000000007ull, 0xf800000000004007ull, IGNPRED, N("call"), T(lim), CTARG },
2008+
{ 0x5000000000004007ull, 0xf800000000004007ull, IGNPRED, N("call"), T(lim), N("pcrel"), FCONSTNR },
2009+
{ 0x5800000000000007ull, 0xf800000000000007ull, IGNPRED, N("prelongjmp"), T(btarg) },
2010+
{ 0x6000000000000007ull, 0xf800000000000007ull, IGNPRED, N("joinat"), T(btarg) },
2011+
{ 0x6800000000000007ull, 0xf800000000000007ull, IGNPRED, N("prebrk"), T(btarg) },
2012+
{ 0x7000000000000007ull, 0xf800000000000007ull, IGNPRED, N("precont"), T(btarg) },
2013+
{ 0x7800000000000007ull, 0xf800000000000007ull, IGNPRED, N("preret"), T(lim), T(btarg) },
20112014
{ 0x8000000000000007ull, 0xf800000000000007ull, T(p), T(cc), N("exit") },
20122015
{ 0x8800000000000007ull, 0xf800000000000007ull, T(p), T(cc), N("longjmp") },
20132016
{ 0x9000000000000007ull, 0xf800000000000007ull, T(p), T(cc), N("ret") },
20142017
{ 0x9800000000000007ull, 0xf800000000000007ull, T(p), T(cc), N("discard") },
2015-
{ 0xa000000000000007ull, 0xf800000000000007ull, N("rtt"), T(terminate) },
2018+
{ 0xa000000000000007ull, 0xf800000000000007ull, IGNPRED, N("rtt"), T(terminate) },
20162019
{ 0xa800000000000007ull, 0xf800000000000007ull, T(p), T(cc), N("brk") },
20172020
{ 0xb000000000000007ull, 0xf800000000000007ull, T(p), T(cc), N("cont") },
2018-
{ 0xc000000000000007ull, 0xf800000000000007ull, N("quadon") },
2019-
{ 0xc800000000000007ull, 0xf800000000000007ull, N("quadpop") },
2020-
{ 0xd000000000000007ull, 0xf80000000000c007ull, N("bpt"), N("drain"), BPT },
2021-
{ 0xd000000000004007ull, 0xf80000000000c007ull, N("bpt"), N("cal"), BPT },
2022-
{ 0xd000000000008007ull, 0xf80000000000c007ull, N("bpt"), N("pause"), BPT },
2023-
{ 0xd00000000000c007ull, 0xf80000000000c007ull, N("bpt"), N("trap"), BPT },
2021+
{ 0xc000000000000007ull, 0xf800000000000007ull, IGNPRED, N("quadon") },
2022+
{ 0xc800000000000007ull, 0xf800000000000007ull, IGNPRED, N("quadpop") },
2023+
{ 0xd000000000000007ull, 0xf80000000000c007ull, IGNPRED, N("bpt"), N("drain"), BPT },
2024+
{ 0xd000000000004007ull, 0xf80000000000c007ull, IGNPRED, N("bpt"), N("cal"), BPT },
2025+
{ 0xd000000000008007ull, 0xf80000000000c007ull, IGNPRED, N("bpt"), N("pause"), BPT },
2026+
{ 0xd00000000000c007ull, 0xf80000000000c007ull, IGNPRED, N("bpt"), N("trap"), BPT },
20242027
{ 0x0000000000000007ull, 0x0000000000000007ull, T(p), OOPS, BTARG },
20252028
{ 0, 0, OOPS },
20262029
};

0 commit comments

Comments
 (0)