Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/gpu/drm/xe/instructions/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 2 kB image not shown  

Quelle  xe_alu_commands.h   Sprache: C

 
/* SPDX-License-Identifier: MIT */
/*
 * Copyright © 2025 Intel Corporation
 */


#ifndef _XE_ALU_COMMANDS_H_
#define _XE_ALU_COMMANDS_H_

#include "instructions/xe_instr_defs.h"

/* Instruction Opcodes */
#define CS_ALU_OPCODE_NOOP   0x000
#define CS_ALU_OPCODE_FENCE_RD   0x001
#define CS_ALU_OPCODE_FENCE_WR   0x002
#define CS_ALU_OPCODE_LOAD   0x080
#define CS_ALU_OPCODE_LOADINV   0x480
#define CS_ALU_OPCODE_LOAD0   0x081
#define CS_ALU_OPCODE_LOAD1   0x481
#define CS_ALU_OPCODE_LOADIND   0x082
#define CS_ALU_OPCODE_ADD   0x100
#define CS_ALU_OPCODE_SUB   0x101
#define CS_ALU_OPCODE_AND   0x102
#define CS_ALU_OPCODE_OR   0x103
#define CS_ALU_OPCODE_XOR   0x104
#define CS_ALU_OPCODE_SHL   0x105
#define CS_ALU_OPCODE_SHR   0x106
#define CS_ALU_OPCODE_SAR   0x107
#define CS_ALU_OPCODE_STORE   0x180
#define CS_ALU_OPCODE_STOREINV   0x580
#define CS_ALU_OPCODE_STOREIND   0x181

/* Instruction Operands */
#define CS_ALU_OPERAND_REG(n)   REG_FIELD_PREP(GENMASK(3, 0), (n))
#define CS_ALU_OPERAND_REG0   0x0
#define CS_ALU_OPERAND_REG1   0x1
#define CS_ALU_OPERAND_REG2   0x2
#define CS_ALU_OPERAND_REG3   0x3
#define CS_ALU_OPERAND_REG4   0x4
#define CS_ALU_OPERAND_REG5   0x5
#define CS_ALU_OPERAND_REG6   0x6
#define CS_ALU_OPERAND_REG7   0x7
#define CS_ALU_OPERAND_REG8   0x8
#define CS_ALU_OPERAND_REG9   0x9
#define CS_ALU_OPERAND_REG10   0xa
#define CS_ALU_OPERAND_REG11   0xb
#define CS_ALU_OPERAND_REG12   0xc
#define CS_ALU_OPERAND_REG13   0xd
#define CS_ALU_OPERAND_REG14   0xe
#define CS_ALU_OPERAND_REG15   0xf
#define CS_ALU_OPERAND_SRCA   0x20
#define CS_ALU_OPERAND_SRCB   0x21
#define CS_ALU_OPERAND_ACCU   0x31
#define CS_ALU_OPERAND_ZF   0x32
#define CS_ALU_OPERAND_CF   0x33
#define CS_ALU_OPERAND_NA   0 /* N/A operand */

/* Command Streamer ALU Instructions */
#define CS_ALU_INSTR(opcode, op1, op2)  (REG_FIELD_PREP(GENMASK(31, 20), (opcode)) | \
       REG_FIELD_PREP(GENMASK(19, 10), (op1)) | \
       REG_FIELD_PREP(GENMASK(9, 0), (op2)))

#define __CS_ALU_INSTR(opcode, op1, op2) CS_ALU_INSTR(CS_ALU_OPCODE_##opcode, \
            CS_ALU_OPERAND_##op1, \
            CS_ALU_OPERAND_##op2)

#define CS_ALU_INSTR_NOOP   __CS_ALU_INSTR(NOOP, NA, NA)
#define CS_ALU_INSTR_LOAD(op1, op2)  __CS_ALU_INSTR(LOAD, op1, op2)
#define CS_ALU_INSTR_LOADINV(op1, op2)  __CS_ALU_INSTR(LOADINV, op1, op2)
#define CS_ALU_INSTR_LOAD0(op1)   __CS_ALU_INSTR(LOAD0, op1, NA)
#define CS_ALU_INSTR_LOAD1(op1)   __CS_ALU_INSTR(LOAD1, op1, NA)
#define CS_ALU_INSTR_ADD   __CS_ALU_INSTR(ADD, NA, NA)
#define CS_ALU_INSTR_SUB   __CS_ALU_INSTR(SUB, NA, NA)
#define CS_ALU_INSTR_AND   __CS_ALU_INSTR(AND, NA, NA)
#define CS_ALU_INSTR_OR    __CS_ALU_INSTR(OR, NA, NA)
#define CS_ALU_INSTR_XOR   __CS_ALU_INSTR(XOR, NA, NA)
#define CS_ALU_INSTR_STORE(op1, op2)  __CS_ALU_INSTR(STORE, op1, op2)
#define CS_ALU_INSTR_STOREINV(op1, op2)  __CS_ALU_INSTR(STOREINV, op1, op2)

#endif

Messung V0.5
C=96 H=94 G=94

¤ Dauer der Verarbeitung: 0.2 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.