Wolfgang Thallergcc16 merge934c3885 months agoHistory
2192 lines · 79.6 KB · C
RawDownload
/* AArch64 assembler/disassembler support.    Copyright (C) 2009-2026 Free Software Foundation, Inc.   Contributed by ARM Ltd.    This file is part of GNU Binutils.    This program is free software; you can redistribute it and/or modify   it under the terms of the GNU General Public License as published by   the Free Software Foundation; either version 3 of the license, or   (at your option) any later version.    This program is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   GNU General Public License for more details.    You should have received a copy of the GNU General Public License   along with this program; see the file COPYING3. If not,   see <http://www.gnu.org/licenses/>.  */ #ifndef OPCODE_AARCH64_H#define OPCODE_AARCH64_H #include "bfd.h"#include <stdint.h>#include <assert.h>#include <stdlib.h> #include "dis-asm.h" #ifdef __cplusplusextern "C" {#endif /* The offset for pc-relative addressing is currently defined to be 0.  */#define AARCH64_PCREL_OFFSET		0 typedef uint32_t aarch64_insn; /* An enum containing all known CPU features.  The values act as bit positions   into aarch64_feature_set.  */enum aarch64_feature_bit {  /* Architecture versions.  */  AARCH64_FEATURE_V8,  AARCH64_FEATURE_V8_1A,  AARCH64_FEATURE_V8_2A,  AARCH64_FEATURE_V8_3A,  AARCH64_FEATURE_V8_4A,  AARCH64_FEATURE_V8_5A,  AARCH64_FEATURE_V8_6A,  AARCH64_FEATURE_V8_7A,  AARCH64_FEATURE_V8_8A,  AARCH64_FEATURE_V8_9A,   AARCH64_FEATURE_V9A,  AARCH64_FEATURE_V9_1A,  AARCH64_FEATURE_V9_2A,  AARCH64_FEATURE_V9_3A,  AARCH64_FEATURE_V9_4A,  AARCH64_FEATURE_V9_5A,  AARCH64_FEATURE_V9_6A,  AARCH64_FEATURE_V9_7A,   /* Armv8-A processors only - this is unset for Armv8-R.  */  AARCH64_FEATURE_V8A,  /* Armv8-R processors.  */  AARCH64_FEATURE_V8R,   /* Bfloat16 insns.  */  AARCH64_FEATURE_BFLOAT16,  /* SVE2 instructions.  */  AARCH64_FEATURE_SVE2,  AARCH64_FEATURE_SVE2_AES,  AARCH64_FEATURE_SVE2_BITPERM,  AARCH64_FEATURE_SVE2_SM4,  AARCH64_FEATURE_SVE2_SHA3,  /* Scalable Matrix Extension.  */  AARCH64_FEATURE_SME,  /* Atomic 64-byte load/store.  */  AARCH64_FEATURE_LS64,  /* v8.3 Pointer Authentication.  */  AARCH64_FEATURE_PAUTH,  /* FP instructions.  */  AARCH64_FEATURE_FP,  /* SIMD instructions.  */  AARCH64_FEATURE_SIMD,  /* CRC instructions.  */  AARCH64_FEATURE_CRC,  /* LSE instructions.  */  AARCH64_FEATURE_LSE,  /* LSFE instructions.  */  AARCH64_FEATURE_LSFE,  /* PAN instructions.  */  AARCH64_FEATURE_PAN,  /* LOR instructions.  */  AARCH64_FEATURE_LOR,  /* v8.1 SIMD instructions.  */  AARCH64_FEATURE_RDMA,  /* v8.2 FP16 instructions.  */  AARCH64_FEATURE_F16,  /* RAS Extensions.  */  AARCH64_FEATURE_RAS,  /* Statistical Profiling.  */  AARCH64_FEATURE_PROFILE,  /* SVE instructions.  */  AARCH64_FEATURE_SVE,  /* RCPC instructions.  */  AARCH64_FEATURE_RCPC,  /* RCPC2 instructions.  */  AARCH64_FEATURE_RCPC2,  /* Complex # instructions.  */  AARCH64_FEATURE_COMPNUM,  /* JavaScript conversion instructions.  */  AARCH64_FEATURE_JSCVT,  /* Dot Product instructions.  */  AARCH64_FEATURE_DOTPROD,  /* SM3 & SM4 instructions.  */  AARCH64_FEATURE_SM4,  /* SHA2 instructions.  */  AARCH64_FEATURE_SHA2,  /* SHA3 instructions.  */  AARCH64_FEATURE_SHA3,  /* AES instructions.  */  AARCH64_FEATURE_AES,  /* v8.2 FP16FML ins.  */  AARCH64_FEATURE_F16_FML,  /* v8.5 Flag Manipulation version 2.  */  AARCH64_FEATURE_FLAGMANIP,  /* FRINT[32,64][Z,X] insns.  */  AARCH64_FEATURE_FRINTTS,  /* SB instruction.  */  AARCH64_FEATURE_SB,  /* Execution and Data Prediction Restriction instructions.  */  AARCH64_FEATURE_PREDRES,  /* DC CVADP.  */  AARCH64_FEATURE_CVADP,  /* Random Number instructions.  */  AARCH64_FEATURE_RNG,  /* SSBS mechanism enabled.  */  AARCH64_FEATURE_SSBS,  /* Compare and branch instructions.  */  AARCH64_FEATURE_CMPBR,  /* Memory Tagging Extension.  */  AARCH64_FEATURE_MEMTAG,  /* Outer Cacheable Cache Maintenance Operation.  */  AARCH64_FEATURE_OCCMO,  /* Transactional Memory Extension.  */  AARCH64_FEATURE_TME,  /* XS memory attribute.  */  AARCH64_FEATURE_XS,  /* WFx instructions with timeout.  */  AARCH64_FEATURE_WFXT,  /* Standardization of memory operations.  */  AARCH64_FEATURE_MOPS,  /* Hinted conditional branches.  */  AARCH64_FEATURE_HBC,  /* Matrix Multiply instructions.  */  AARCH64_FEATURE_I8MM,  AARCH64_FEATURE_F32MM,  AARCH64_FEATURE_F64MM,  /* v8.4 Flag Manipulation.  */  AARCH64_FEATURE_FLAGM,  /* SME F64F64.  */  AARCH64_FEATURE_SME_F64F64,  /* SME I16I64.  */  AARCH64_FEATURE_SME_I16I64,  /* Common Short Sequence Compression instructions.  */  AARCH64_FEATURE_CSSC,  /* Check Feature Status Extension.  */  AARCH64_FEATURE_CHK,  /* Guarded Control Stack.  */  AARCH64_FEATURE_GCS,  /* SME2.  */  AARCH64_FEATURE_SME2,  /* Translation Hardening Extension.  */  AARCH64_FEATURE_THE,  /* LSE128.  */  AARCH64_FEATURE_LSE128,  /* LSUI - Unprivileged Load Store.  */  AARCH64_FEATURE_LSUI,  /* ARMv8.9-A RAS Extensions.  */  AARCH64_FEATURE_RASv2,  /* Address Translate Stage 1.  */  AARCH64_FEATURE_ATS1A,  /* Speculation Prediction Restriction instructions.  */  AARCH64_FEATURE_PREDRES2,  /* Instrumentation Extension.  */  AARCH64_FEATURE_ITE,  /* 128-bit page table descriptor, system registers     and instructions.  */  AARCH64_FEATURE_D128,  /* SME2.1 instructions.  */  AARCH64_FEATURE_SME2p1,  /* SVE2.1 instructions.  */  AARCH64_FEATURE_SVE2p1,  /* SVE_F16F32MM instructions.  */  AARCH64_FEATURE_SVE_F16F32MM,  /* F8F32MM instructions.  */  AARCH64_FEATURE_F8F32MM,  /* F8F16MM instructions.  */  AARCH64_FEATURE_F8F16MM,  /* SVE_PMULL128 extension. */  AARCH64_FEATURE_SVE_AES,  /* SVE AES2 instructions.  */  AARCH64_FEATURE_SVE_AES2,  /* SSVE_AES extension. */  AARCH64_FEATURE_SSVE_AES,  /* SVE_BITPERM extension. */  AARCH64_FEATURE_SVE_BITPERM,  /* SSVE_BITPERM extension. */  AARCH64_FEATURE_SSVE_BITPERM,  /* RCPC3 instructions.  */  AARCH64_FEATURE_RCPC3,  /* Checked Pointer Arithmetic instructions. */  AARCH64_FEATURE_CPA,  /* FAMINMAX instructions.  */  AARCH64_FEATURE_FAMINMAX,  /* FP8 instructions.  */  AARCH64_FEATURE_FP8,  /* LUT instructions.  */  AARCH64_FEATURE_LUT,  /* Branch Record Buffer Extension */  AARCH64_FEATURE_BRBE,  /* SME LUTv2 instructions.  */  AARCH64_FEATURE_SME_LUTv2,  /* FP8FMA instructions.  */  AARCH64_FEATURE_FP8FMA,  /* FP8DOT4 instructions.  */  AARCH64_FEATURE_FP8DOT4,  /* FP8DOT2 instructions.  */  AARCH64_FEATURE_FP8DOT2,  /* SSVE FP8FMA instructions.  */  AARCH64_FEATURE_SSVE_FP8FMA,  /* SSVE FP8DOT4 instructions.  */  AARCH64_FEATURE_SSVE_FP8DOT4,  /* SSVE FP8DOT2 instructions.  */  AARCH64_FEATURE_SSVE_FP8DOT2,  /* SME F8F32 instructions.  */  AARCH64_FEATURE_SME_F8F32,  /* SME F8F16 instructions.  */  AARCH64_FEATURE_SME_F8F16,  /* Non-widening half-precision FP16 to FP16 arithmetic for SME2.  */  AARCH64_FEATURE_SME_F16F16,  /* FEAT_SVE_BFSCALE.  */  AARCH64_FEATURE_SVE_BFSCALE,  /* SVE Z-targeting non-widening BFloat16 instructions.  */  AARCH64_FEATURE_SVE_B16B16,  /* SME non-widening BFloat16 instructions.  */  AARCH64_FEATURE_SME_B16B16,  /* SVE2.2.  */  AARCH64_FEATURE_SVE2p2,  /* SME2.2.  */  AARCH64_FEATURE_SME2p2,  /* FPRCVT instructions.  */  AARCH64_FEATURE_FPRCVT,  /* Point of Physical Storage.  */  AARCH64_FEATURE_PoPS,  /* GICv5 (Generic Interrupt Controller) CPU Interface Extension.  */  AARCH64_FEATURE_GCIE,  /* SVE FEXPA instruction in streaming mode.  */  AARCH64_FEATURE_SSVE_FEXPA,  /* SME TMOP instructions.  */  AARCH64_FEATURE_SME_TMOP,  /* SME MOP4 instructions.  */  AARCH64_FEATURE_SME_MOP4,  /* LSCP instructions.  */  AARCH64_FEATURE_LSCP,  /* +mops-go */  AARCH64_FEATURE_MOPS_GO,  /* SVE2.3.  */  AARCH64_FEATURE_SVE2p3,  /* SME2.3.  */  AARCH64_FEATURE_SME2p3,  /* F16F32DOT instructions.  */  AARCH64_FEATURE_F16F32DOT,  /* F16F32MM instructions.  */  AARCH64_FEATURE_F16F32MM,  /* F16MM instructions.  */  AARCH64_FEATURE_F16MM,  /* SVE B16MM instructions.  */  AARCH64_FEATURE_SVE_B16MM,  /* POE2 instructions.  */  AARCH64_FEATURE_POE2,  /* TEV instructions.  */  AARCH64_FEATURE_TEV,  /* MPAMv2.  */  AARCH64_FEATURE_MPAMv2,  /* MTETC.  */  AARCH64_FEATURE_MTETC,  /* TLBI Domains.  */  AARCH64_FEATURE_TLBID,   /* Virtual features.  These are used to gate instructions that are enabled     by either of two (or more) sets of command line flags.  */  /* +sve2 or +ssve-aes */  AARCH64_FEATURE_SVE2_SSVE_AES,  /* +sve or +ssve-fexpa */  AARCH64_FEATURE_SVE_SSVE_FEXPA,  /* +fp8fma+sve or +ssve-fp8fma  */  AARCH64_FEATURE_FP8FMA_SVE,  /* +fp8dot4+sve or +ssve-fp8dot4  */  AARCH64_FEATURE_FP8DOT4_SVE,  /* +fp8dot2+sve or +ssve-fp8dot2  */  AARCH64_FEATURE_FP8DOT2_SVE,  /* +sme-f16f16 or +sme-f8f16  */  AARCH64_FEATURE_SME_F16F16_F8F16,  /* +sve or +sme2p2 */  AARCH64_FEATURE_SVE_SME2p2,  /* +sve2 or +sme2 */  AARCH64_FEATURE_SVE2_SME2,  /* +sve2p1 or +sme */  AARCH64_FEATURE_SVE2p1_SME,  /* +sve2p1 or +sme2 */  AARCH64_FEATURE_SVE2p1_SME2,  /* +sve2p1 or +sme2p1 */  AARCH64_FEATURE_SVE2p1_SME2p1,  /* +sve2p2 or +sme2p2 */  AARCH64_FEATURE_SVE2p2_SME2p2,  /* +sve2p3 or +sme2p3 */  AARCH64_FEATURE_SVE2p3_SME2p3,  /* +d128 or +tlbid */  AARCH64_FEATURE_D128_TLBID,  AARCH64_NUM_FEATURES}; typedef uint64_t aarch64_feature_word;#define AARCH64_BITS_PER_FEATURE_WORD 64 #define AA64_REPLICATE(SEP, BODY, ...)	\  BODY (0, __VA_ARGS__) SEP		\  BODY (1, __VA_ARGS__) SEP		\  BODY (2, __VA_ARGS__) /* Some useful SEP operators for use with replication.  */#define REP_COMMA ,#define REP_SEMICOLON ;#define REP_OR_OR ||#define REP_AND_AND &&#define REP_PLUS + /* Not currently needed, but if an empty SEP is required define:  #define REP_NO_SEP  Then use REP_NO_SEP in the SEP field.  */ /* Used to generate one instance of VAL for each value of ELT (ELT is   not otherwise used).  */#define AA64_REPVAL(ELT, VAL) VAL /* static_assert requires C11 (or C++11) or later.  Support older   versions by disabling this check since compilers without this are   pretty uncommon these days.  */#if ((defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L)	\     || (defined __cplusplus && __cplusplus >= 201103L))static_assert ((AA64_REPLICATE (REP_PLUS, AA64_REPVAL,				AARCH64_BITS_PER_FEATURE_WORD))	       >= AARCH64_NUM_FEATURES,	       "Insufficient repetitions in AA64_REPLICATE()");#endif /* These macros take an initial argument X that gives the index into   an aarch64_feature_set.  The macros then return the bitmask for   that array index.  */ /* A mask in which feature bit BIT is set and all other bits are clear.  */#define AARCH64_UINT64_BIT(X, BIT)			\  ((X) == (BIT) / AARCH64_BITS_PER_FEATURE_WORD		\   ? 1ULL << (BIT) % AARCH64_BITS_PER_FEATURE_WORD	\   : 0) /* A mask that includes only AARCH64_FEATURE_<NAME>.  */#define AARCH64_FEATBIT(X, NAME) \  AARCH64_UINT64_BIT (X, AARCH64_FEATURE_##NAME) /* A mask of the features that are enabled by each architecture version,   excluding those that are inherited from other architecture versions.  */#define AARCH64_ARCH_V8A_FEATURES(X)	(AARCH64_FEATBIT (X, V8A)	\					 | AARCH64_FEATBIT (X, FP)	\					 | AARCH64_FEATBIT (X, RAS)	\					 | AARCH64_FEATBIT (X, SIMD)	\					 | AARCH64_FEATBIT (X, CHK))#define AARCH64_ARCH_V8_1A_FEATURES(X)	(AARCH64_FEATBIT (X, V8_1A)	\					 | AARCH64_FEATBIT (X, CRC)	\					 | AARCH64_FEATBIT (X, LSE)	\					 | AARCH64_FEATBIT (X, PAN)	\					 | AARCH64_FEATBIT (X, LOR)	\					 | AARCH64_FEATBIT (X, RDMA))#define AARCH64_ARCH_V8_2A_FEATURES(X)	(AARCH64_FEATBIT (X, V8_2A))#define AARCH64_ARCH_V8_3A_FEATURES(X)	(AARCH64_FEATBIT (X, V8_3A)	\					 | AARCH64_FEATBIT (X, PAUTH)	\					 | AARCH64_FEATBIT (X, RCPC)	\					 | AARCH64_FEATBIT (X, COMPNUM) \					 | AARCH64_FEATBIT (X, JSCVT))#define AARCH64_ARCH_V8_4A_FEATURES(X)	(AARCH64_FEATBIT (X, V8_4A)	\					 | AARCH64_FEATBIT (X, RCPC2)	\					 | AARCH64_FEATBIT (X, DOTPROD)	\					 | AARCH64_FEATBIT (X, FLAGM)	\					 | AARCH64_FEATBIT (X, F16_FML))#define AARCH64_ARCH_V8_5A_FEATURES(X)	(AARCH64_FEATBIT (X, V8_5A)	\					 | AARCH64_FEATBIT (X, FLAGMANIP) \					 | AARCH64_FEATBIT (X, FRINTTS)	\					 | AARCH64_FEATBIT (X, SB)	\					 | AARCH64_FEATBIT (X, PREDRES)	\					 | AARCH64_FEATBIT (X, CVADP)	\					 | AARCH64_FEATBIT (X, SSBS))#define AARCH64_ARCH_V8_6A_FEATURES(X)	(AARCH64_FEATBIT (X, V8_6A)	\					 | AARCH64_FEATBIT (X, BFLOAT16) \					 | AARCH64_FEATBIT (X, I8MM))#define AARCH64_ARCH_V8_7A_FEATURES(X)	(AARCH64_FEATBIT (X, V8_7A)	\					 | AARCH64_FEATBIT (X, XS)      \					 | AARCH64_FEATBIT (X, WFXT)    \					 | AARCH64_FEATBIT (X, LS64))#define AARCH64_ARCH_V8_8A_FEATURES(X)	(AARCH64_FEATBIT (X, V8_8A)	\					 | AARCH64_FEATBIT (X, MOPS)	\					 | AARCH64_FEATBIT (X, HBC))#define AARCH64_ARCH_V8_9A_FEATURES(X)	(AARCH64_FEATBIT (X, V8_9A)	\					 | AARCH64_FEATBIT (X, CSSC) \					 | AARCH64_FEATBIT (X, RASv2)	\					 | AARCH64_FEATBIT (X, ATS1A)	\					 | AARCH64_FEATBIT (X, PREDRES2) \					) #define AARCH64_ARCH_V9A_FEATURES(X)	(AARCH64_FEATBIT (X, V9A)	\					 | AARCH64_FEATBIT (X, F16)	\					 | AARCH64_FEATBIT (X, SVE)	\					 | AARCH64_FEATBIT (X, SVE2))#define AARCH64_ARCH_V9_1A_FEATURES(X)	(AARCH64_FEATBIT (X, V9_1A)	\					 | AARCH64_ARCH_V8_6A_FEATURES (X))#define AARCH64_ARCH_V9_2A_FEATURES(X)	(AARCH64_FEATBIT (X, V9_2A)	\					 | AARCH64_ARCH_V8_7A_FEATURES (X))#define AARCH64_ARCH_V9_3A_FEATURES(X)	(AARCH64_FEATBIT (X, V9_3A)	\					 | AARCH64_ARCH_V8_8A_FEATURES (X))#define AARCH64_ARCH_V9_4A_FEATURES(X)	(AARCH64_FEATBIT (X, V9_4A)	\					 | AARCH64_ARCH_V8_9A_FEATURES (X) \					 | AARCH64_FEATBIT (X, SVE2p1))#define AARCH64_ARCH_V9_5A_FEATURES(X)	(AARCH64_FEATBIT (X, V9_5A)	\					 | AARCH64_FEATBIT (X, CPA)	\					 | AARCH64_FEATBIT (X, LUT)	\					 | AARCH64_FEATBIT (X, FAMINMAX)\					)#define AARCH64_ARCH_V9_6A_FEATURES(X)	(AARCH64_FEATBIT (X, V9_6A)	\					 | AARCH64_FEATBIT (X, CMPBR)	\					 | AARCH64_FEATBIT (X, LSUI)	\					 | AARCH64_FEATBIT (X, OCCMO))#define AARCH64_ARCH_V9_7A_FEATURES(X)	(AARCH64_FEATBIT (X, V9_7A)	\					 | AARCH64_FEATBIT (X, F16F32DOT) \					 | AARCH64_FEATBIT (X, SVE2p2)	\					 | AARCH64_FEATBIT (X, SVE2p3)) /* Architectures are the sum of the base and extensions.  */#define AARCH64_ARCH_V8A(X)	(AARCH64_FEATBIT (X, V8) \				 | AARCH64_ARCH_V8A_FEATURES (X))#define AARCH64_ARCH_V8_1A(X)	(AARCH64_ARCH_V8A (X) \				 | AARCH64_ARCH_V8_1A_FEATURES (X))#define AARCH64_ARCH_V8_2A(X)	(AARCH64_ARCH_V8_1A (X)	\				 | AARCH64_ARCH_V8_2A_FEATURES (X))#define AARCH64_ARCH_V8_3A(X)	(AARCH64_ARCH_V8_2A (X)	\				 | AARCH64_ARCH_V8_3A_FEATURES (X))#define AARCH64_ARCH_V8_4A(X)	(AARCH64_ARCH_V8_3A (X)	\				 | AARCH64_ARCH_V8_4A_FEATURES (X))#define AARCH64_ARCH_V8_5A(X)	(AARCH64_ARCH_V8_4A (X)	\				 | AARCH64_ARCH_V8_5A_FEATURES (X))#define AARCH64_ARCH_V8_6A(X)	(AARCH64_ARCH_V8_5A (X)	\				 | AARCH64_ARCH_V8_6A_FEATURES (X))#define AARCH64_ARCH_V8_7A(X)	(AARCH64_ARCH_V8_6A (X)	\				 | AARCH64_ARCH_V8_7A_FEATURES (X))#define AARCH64_ARCH_V8_8A(X)	(AARCH64_ARCH_V8_7A (X)	\				 | AARCH64_ARCH_V8_8A_FEATURES (X))#define AARCH64_ARCH_V8_9A(X)	(AARCH64_ARCH_V8_8A (X)	\				 | AARCH64_ARCH_V8_9A_FEATURES (X))#define AARCH64_ARCH_V8R(X)	((AARCH64_ARCH_V8_4A (X)	\				  | AARCH64_FEATBIT (X, V8R))	\				 & ~AARCH64_FEATBIT (X, V8A)	\				 & ~AARCH64_FEATBIT (X, LOR)) #define AARCH64_ARCH_V9A(X)	(AARCH64_ARCH_V8_5A (X) \				 | AARCH64_ARCH_V9A_FEATURES (X))#define AARCH64_ARCH_V9_1A(X)	(AARCH64_ARCH_V9A (X) \				 | AARCH64_ARCH_V9_1A_FEATURES (X))#define AARCH64_ARCH_V9_2A(X)	(AARCH64_ARCH_V9_1A (X) \				 | AARCH64_ARCH_V9_2A_FEATURES (X))#define AARCH64_ARCH_V9_3A(X)	(AARCH64_ARCH_V9_2A (X) \				 | AARCH64_ARCH_V9_3A_FEATURES (X))#define AARCH64_ARCH_V9_4A(X)	(AARCH64_ARCH_V9_3A (X) \				 | AARCH64_ARCH_V9_4A_FEATURES (X))#define AARCH64_ARCH_V9_5A(X)	(AARCH64_ARCH_V9_4A (X) \				 | AARCH64_ARCH_V9_5A_FEATURES (X))#define AARCH64_ARCH_V9_6A(X)	(AARCH64_ARCH_V9_5A (X) \				 | AARCH64_ARCH_V9_6A_FEATURES (X))#define AARCH64_ARCH_V9_7A(X)	(AARCH64_ARCH_V9_6A (X) \				 | AARCH64_ARCH_V9_7A_FEATURES (X)) #define AARCH64_ARCH_NONE(X)	0 /* CPU-specific features.  */typedef struct {  aarch64_feature_word flags[AA64_REPLICATE (REP_PLUS, AA64_REPVAL, 1)];} aarch64_feature_set; #define AARCH64_CPU_HAS_FEATURE_BODY(ELT, CPU, FEAT)	\

Lines 1–500 of 2192.

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t