Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Arm64 encodings for IF_SVE_AA_3A to IF_SVE_HL_3A #95127

Merged
merged 33 commits into from
Nov 27, 2023
Merged
Changes from 1 commit
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
55731b4
Add insEncodeReg* methods
a74nh Nov 22, 2023
90fb3de
Add Arm64 encodings for 3A groups
a74nh Nov 20, 2023
15ee2fc
Remove isSveRegister
a74nh Nov 22, 2023
b7490a0
Split ALL_ARM64_EMITTER_UNIT_TESTS into subsets
a74nh Nov 22, 2023
473483c
AD, AE, AN
a74nh Nov 22, 2023
b4687d4
Merge remote-tracking branch 'origin' into SVE_AA_3A_4_github
a74nh Nov 23, 2023
c5d82cd
Remove REG_PREDICATE_LOW_FIRST
a74nh Nov 23, 2023
4461ecb
Fix sve_ins_offset
a74nh Nov 23, 2023
f93a4f6
Add IF_SVE_AO_3A, including INS_OPTS_SCALABLE_WIDE_
a74nh Nov 23, 2023
d755ab7
Add IF_SVE_CM_3A
a74nh Nov 23, 2023
2dcd8e6
Add IF_SVE_CN_3A, including INS_OPTS_SCALABLE_TO_SIMD_
a74nh Nov 23, 2023
ba57782
IF_SVE_CO_3A and INS_OPTS_SCALABLE_n_TO_SCALAR
a74nh Nov 23, 2023
0d958e0
Rename INS_OPTS_SCALABLE_TO_SIMD_
a74nh Nov 23, 2023
f0bf5ca
Add IF_SVE_EP_3A
a74nh Nov 23, 2023
0477f12
Add IF_SVE_ER_3A
a74nh Nov 23, 2023
64ac5a6
Add IF_SVE_ET_3A
a74nh Nov 23, 2023
d88891a
Fix formatting
a74nh Nov 24, 2023
89e8ccd
Add IF_SVE_EU_3A
a74nh Nov 24, 2023
947e76c
IF_SVE_EU_3A
a74nh Nov 24, 2023
6056790
Add IF_SVE_HJ_3A
a74nh Nov 24, 2023
af7b818
Add IF_SVE_HJ_3A
a74nh Nov 24, 2023
819ff13
Add PredicateType
a74nh Nov 24, 2023
9c06fe7
Remove tests unsupported by capstone
a74nh Nov 24, 2023
7b74dc6
Fix formatting
a74nh Nov 24, 2023
5e9dad8
Comment out unit test define
a74nh Nov 24, 2023
889c909
Add parentheses
a74nh Nov 24, 2023
1e3e98e
Fix fadda predicate and comment typos
a74nh Nov 27, 2023
f2c714b
Fix formatting
a74nh Nov 27, 2023
96271ae
Better commenting + fix up errors found
a74nh Nov 27, 2023
2f763f1
Better descriptions for insOpts functions
a74nh Nov 27, 2023
11d38ba
Add latencies
a74nh Nov 27, 2023
cffafad
Fix formatting
a74nh Nov 27, 2023
15a5fe8
Add emitDispLowPredicateReg
a74nh Nov 27, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add parentheses
  • Loading branch information
a74nh committed Nov 24, 2023
commit 889c9092d27083ee3af5987a5a4eccd4c1d225cd
24 changes: 12 additions & 12 deletions src/coreclr/jit/emitarm64.h
Original file line number Diff line number Diff line change
Expand Up @@ -863,45 +863,45 @@ inline static bool insOptsScalable(insOpts opt)
inline static bool insOptsScalableSimple(insOpts opt)
{
// Opt is any of the standard scable types.
a74nh marked this conversation as resolved.
Show resolved Hide resolved
return ((opt == INS_OPTS_SCALABLE_B || opt == INS_OPTS_SCALABLE_H || opt == INS_OPTS_SCALABLE_S ||
opt == INS_OPTS_SCALABLE_D));
return ((opt == INS_OPTS_SCALABLE_B) || (opt == INS_OPTS_SCALABLE_H) || (opt == INS_OPTS_SCALABLE_S) ||
(opt == INS_OPTS_SCALABLE_D));
}

inline static bool insOptsScalableWords(insOpts opt)
{
// Opt is any of the standard word and above scable types.
a74nh marked this conversation as resolved.
Show resolved Hide resolved
return ((opt == INS_OPTS_SCALABLE_S || opt == INS_OPTS_SCALABLE_D));
return ((opt == INS_OPTS_SCALABLE_S) || (opt == INS_OPTS_SCALABLE_D));
}

inline static bool insOptsScalableFloat(insOpts opt)
{
// Opt is any of the standard scable types that are valid for FP.
a74nh marked this conversation as resolved.
Show resolved Hide resolved
return ((opt == INS_OPTS_SCALABLE_B || opt == INS_OPTS_SCALABLE_H || opt == INS_OPTS_SCALABLE_S ||
opt == INS_OPTS_SCALABLE_D));
return ((opt == INS_OPTS_SCALABLE_B) || (opt == INS_OPTS_SCALABLE_H) || (opt == INS_OPTS_SCALABLE_S) ||
(opt == INS_OPTS_SCALABLE_D));
}

inline static bool insOptsScalableWide(insOpts opt)
{
return ((opt == INS_OPTS_SCALABLE_WIDE_B || opt == INS_OPTS_SCALABLE_WIDE_H || opt == INS_OPTS_SCALABLE_WIDE_S));
return ((opt == INS_OPTS_SCALABLE_WIDE_B) || (opt == INS_OPTS_SCALABLE_WIDE_H) || (opt == INS_OPTS_SCALABLE_WIDE_S));
}

inline static bool insOptsScalableToSimd(insOpts opt)
{
return ((opt == INS_OPTS_SCALABLE_B_TO_SIMD || opt == INS_OPTS_SCALABLE_H_TO_SIMD ||
opt == INS_OPTS_SCALABLE_S_TO_SIMD || opt == INS_OPTS_SCALABLE_D_TO_SIMD));
return ((opt == INS_OPTS_SCALABLE_B_TO_SIMD) || (opt == INS_OPTS_SCALABLE_H_TO_SIMD) ||
a74nh marked this conversation as resolved.
Show resolved Hide resolved
(opt == INS_OPTS_SCALABLE_S_TO_SIMD) || (opt == INS_OPTS_SCALABLE_D_TO_SIMD));
}

inline static bool insOptsScalableToSimdFloat(insOpts opt)
{
// Opt is any of the SIMD scable types that are valid for FP.
a74nh marked this conversation as resolved.
Show resolved Hide resolved
return ((opt == INS_OPTS_SCALABLE_H_TO_SIMD || opt == INS_OPTS_SCALABLE_S_TO_SIMD ||
opt == INS_OPTS_SCALABLE_D_TO_SIMD));
return ((opt == INS_OPTS_SCALABLE_H_TO_SIMD) || (opt == INS_OPTS_SCALABLE_S_TO_SIMD) ||
(opt == INS_OPTS_SCALABLE_D_TO_SIMD));
}

inline static bool insOptsScalableToScalar(insOpts opt)
{
return ((opt == INS_OPTS_SCALABLE_B_TO_SCALAR || opt == INS_OPTS_SCALABLE_H_TO_SCALAR ||
opt == INS_OPTS_SCALABLE_S_TO_SCALAR || opt == INS_OPTS_SCALABLE_D_TO_SCALAR));
return ((opt == INS_OPTS_SCALABLE_B_TO_SCALAR) || (opt == INS_OPTS_SCALABLE_H_TO_SCALAR) ||
(opt == INS_OPTS_SCALABLE_S_TO_SCALAR) || (opt == INS_OPTS_SCALABLE_D_TO_SCALAR));
}

static bool isValidImmCond(ssize_t imm);
Expand Down
Loading