Flutter Engine
The Flutter Engine
Namespaces | Macros | Enumerations | Functions
constants_x86.h File Reference
#include "platform/assert.h"

Go to the source code of this file.

Namespaces

namespace  dart
 

Macros

#define X86_ZERO_OPERAND_1_BYTE_INSTRUCTIONS(F)
 
#define X86_ALU_CODES(F)
 
#define XMM_ALU_CODES(F)
 
#define XMM_CONDITIONAL_CODES(F)
 
#define X86_CONDITIONAL_SUFFIXES(F)
 

Enumerations

enum  dart::Condition {
  dart::kNoCondition = -1 , dart::EQ = 0 , dart::NE = 1 , dart::CS = 2 ,
  dart::CC = 3 , dart::MI = 4 , dart::PL = 5 , dart::VS = 6 ,
  dart::VC = 7 , dart::HI = 8 , dart::LS = 9 , dart::GE = 10 ,
  dart::LT = 11 , dart::GT = 12 , dart::LE = 13 , dart::AL = 14 ,
  dart::kSpecialCondition = 15 , dart::kNumberOfConditions = 16 , dart::EQUAL = EQ , dart::ZERO = EQUAL ,
  dart::NOT_EQUAL = NE , dart::NOT_ZERO = NOT_EQUAL , dart::LESS = LT , dart::LESS_EQUAL = LE ,
  dart::GREATER_EQUAL = GE , dart::GREATER = GT , dart::UNSIGNED_LESS = CC , dart::UNSIGNED_LESS_EQUAL = LS ,
  dart::UNSIGNED_GREATER = HI , dart::UNSIGNED_GREATER_EQUAL = CS , dart::OVERFLOW = VS , dart::NO_OVERFLOW = VC ,
  dart::kInvalidCondition = 16 , dart::kNoCondition = -1 , dart::EQ = 0 , dart::NE = 1 ,
  dart::CS = 2 , dart::CC = 3 , dart::MI = 4 , dart::PL = 5 ,
  dart::VS = 6 , dart::VC = 7 , dart::HI = 8 , dart::LS = 9 ,
  dart::GE = 10 , dart::LT = 11 , dart::GT = 12 , dart::LE = 13 ,
  dart::AL = 14 , dart::NV = 15 , dart::kNumberOfConditions = 16 , dart::EQUAL = EQ ,
  dart::ZERO = EQUAL , dart::NOT_EQUAL = NE , dart::NOT_ZERO = NOT_EQUAL , dart::LESS = LT ,
  dart::LESS_EQUAL = LE , dart::GREATER_EQUAL = GE , dart::GREATER = GT , dart::UNSIGNED_LESS = CC ,
  dart::UNSIGNED_LESS_EQUAL = LS , dart::UNSIGNED_GREATER = HI , dart::UNSIGNED_GREATER_EQUAL = CS , dart::OVERFLOW = VS ,
  dart::NO_OVERFLOW = VC , dart::kInvalidCondition = 16 , dart::kNoCondition = -1 , dart::EQ = 0 ,
  dart::NE = 1 , dart::CS = 2 , dart::CC = 3 , dart::MI = 4 ,
  dart::PL = 5 , dart::VS = 6 , dart::VC = 7 , dart::HI = 8 ,
  dart::LS = 9 , dart::GE = 10 , dart::LT = 11 , dart::GT = 12 ,
  dart::LE = 13 , dart::AL = 14 , dart::NV = 15 , dart::kNumberOfConditions = 16 ,
  dart::EQUAL = EQ , dart::ZERO = EQUAL , dart::NOT_EQUAL = NE , dart::NOT_ZERO = NOT_EQUAL ,
  dart::LESS = LT , dart::LESS_EQUAL = LE , dart::GREATER_EQUAL = GE , dart::GREATER = GT ,
  dart::UNSIGNED_LESS = CC , dart::UNSIGNED_LESS_EQUAL = LS , dart::UNSIGNED_GREATER = HI , dart::UNSIGNED_GREATER_EQUAL = CS ,
  dart::OVERFLOW = VS , dart::NO_OVERFLOW = VC , dart::kInvalidCondition = 16 , dart::OVERFLOW = VS ,
  dart::NO_OVERFLOW = VC , dart::BELOW = 2 , dart::ABOVE_EQUAL = 3 , dart::EQUAL = EQ ,
  dart::NOT_EQUAL = NE , dart::BELOW_EQUAL = 6 , dart::ABOVE = 7 , dart::SIGN = 8 ,
  dart::NOT_SIGN = 9 , dart::PARITY_EVEN = 10 , dart::PARITY_ODD = 11 , dart::LESS = LT ,
  dart::GREATER_EQUAL = GE , dart::LESS_EQUAL = LE , dart::GREATER = GT , dart::ZERO = EQUAL ,
  dart::NOT_ZERO = NOT_EQUAL , dart::NEGATIVE = SIGN , dart::POSITIVE = NOT_SIGN , dart::CARRY = BELOW ,
  dart::NOT_CARRY = ABOVE_EQUAL , dart::UNSIGNED_LESS = CC , dart::UNSIGNED_LESS_EQUAL = LS , dart::UNSIGNED_GREATER = HI ,
  dart::UNSIGNED_GREATER_EQUAL = CS , dart::kInvalidCondition = 16
}
 

Functions

static Condition dart::InvertCondition (Condition c)
 

Macro Definition Documentation

◆ X86_ALU_CODES

#define X86_ALU_CODES (   F)
Value:
F(and, 4) \
F(or, 1) \
F(xor, 6) \
F(add, 0) \
F(adc, 2) \
F(sub, 5) \
F(sbb, 3) \
F(cmp, 7)
#define F(x)

Definition at line 85 of file constants_x86.h.

◆ X86_CONDITIONAL_SUFFIXES

#define X86_CONDITIONAL_SUFFIXES (   F)
Value:
F(o, OVERFLOW) \
F(no, NO_OVERFLOW) \
F(c, CARRY) \
F(nc, NOT_CARRY) \
F(z, ZERO) \
F(nz, NOT_ZERO) \
F(na, BELOW_EQUAL) \
F(a, ABOVE) \
F(s, SIGN) \
F(ns, NOT_SIGN) \
F(pe, PARITY_EVEN) \
F(po, PARITY_ODD) \
F(l, LESS) \
F(ge, GREATER_EQUAL) \
F(le, LESS_EQUAL) \
F(g, GREATER) \
/* Some alternative names */ \
F(e, EQUAL) \
F(ne, NOT_EQUAL)
#define EQUAL(field)
struct MyStruct s
struct MyStruct a[10]
@ OVERFLOW
@ GREATER_EQUAL
@ NOT_CARRY
Definition: constants_x86.h:35
@ NOT_SIGN
Definition: constants_x86.h:22
@ NOT_ZERO
@ NO_OVERFLOW
@ LESS_EQUAL
@ BELOW_EQUAL
Definition: constants_x86.h:19
@ PARITY_ODD
Definition: constants_x86.h:24
@ NOT_EQUAL
@ PARITY_EVEN
Definition: constants_x86.h:23

Definition at line 125 of file constants_x86.h.

◆ X86_ZERO_OPERAND_1_BYTE_INSTRUCTIONS

#define X86_ZERO_OPERAND_1_BYTE_INSTRUCTIONS (   F)
Value:
F(ret, 0xC3) \
F(leave, 0xC9) \
F(hlt, 0xF4) \
F(cld, 0xFC) \
F(std, 0xFD) \
F(int3, 0xCC) \
F(pushad, 0x60) \
F(popad, 0x61) \
F(pushfd, 0x9C) \
F(popfd, 0x9D) \
F(sahf, 0x9E) \
F(cdq, 0x99) \
F(fwait, 0x9B) \
F(movsb, 0xA4) \
F(movs, 0xA5) /* Size suffix added in code */ \
F(cmpsb, 0xA6) \
F(cmps, 0xA7) /* Size suffix added in code */
Definition: ref_ptr.h:256

Definition at line 65 of file constants_x86.h.

◆ XMM_ALU_CODES

#define XMM_ALU_CODES (   F)
Value:
F(bad0, 0) \
F(sqrt, 1) \
F(rsqrt, 2) \
F(rcp, 3) \
F(and, 4) \
F(bad1, 5) \
F(or, 6) \
F(xor, 7) \
F(add, 8) \
F(mul, 9) \
F(bad2, 0xA) \
F(bad3, 0xB) \
F(sub, 0xC) \
F(min, 0xD) \
F(div, 0xE) \
F(max, 0xF)
static float max(float r, float g, float b)
Definition: hsl.cpp:49
static float min(float r, float g, float b)
Definition: hsl.cpp:48
SIN Vec< N, float > sqrt(const Vec< N, float > &x)
Definition: SkVx.h:706

Definition at line 95 of file constants_x86.h.

◆ XMM_CONDITIONAL_CODES

#define XMM_CONDITIONAL_CODES (   F)
Value:
F(eq, 0) \
F(lt, 1) \
F(le, 2) \
F(unord, 3) \
F(neq, 4) \
F(nlt, 5) \
F(nle, 6) \
F(ord, 7)
static bool eq(const SkM44 &a, const SkM44 &b, float tol)
Definition: M44Test.cpp:18

Definition at line 115 of file constants_x86.h.