Lines Matching refs:base
1832 // SIB byte encodes a memory address, base + (index * scale).
1833 static uint8_t sib(Assembler::Scale scale, int index, int base) {
1834 return _233((int)scale, index, base);
1841 bool B) { // Extra top bit for SIB base or ModRM rm register.
1950 const bool need_SIB = (m.base&7) == rsp
1953 this->byte(rex(W1,x>>3,m.index>>3,m.base>>3));
1955 this->byte(mod_rm(mod(m.disp), x&7, (need_SIB ? rsp : m.base)&7));
1957 this->byte(sib(m.scale, m.index&7, m.base&7));
2179 // without an SIB byte, that's where the base register would usually go.
2180 // This means we have to use an SIB byte if we want to use rsp as a base register.
2182 const bool need_SIB = m.base == rsp
2185 VEX v = vex(w, dst>>3, m.index>>3, m.base>>3,
2189 this->byte(mod_rm(mod(m.disp), dst&7, (need_SIB ? rsp : m.base)&7));
2191 this->byte(sib(m.scale, m.index&7, m.base&7));
2278 void Assembler::vgatherdps(Ymm dst, Scale scale, Ymm ix, GP64 base, Ymm mask) {
2287 VEX v = vex(0, dst>>3, ix>>3, base>>3,
2292 this->byte(sib(scale, ix&7, base&7));
2730 // Our gather base pointer is immB bytes off of uniform immA.
2731 llvm::Value* base =
2736 llvm::Value* ptr = b->CreateInBoundsGEP(t, base, vals[x]);
3767 // As usual, the gather base pointer is immB bytes off of uniform immA.
3806 // Our gather base pointer is immB bytes off of uniform immA.
3812 // dst = *(base + 4*index)
4117 // As usual, the gather base pointer is immB bytes off of uniform immA.
4118 a->add (GP0, arg[immA], immB); // GP0 = &(gather base pointer)
4119 a->ldrd(GP0, GP0); // GP0 = gather base pointer
4123 a->add (GP1, GP0, GP1); // Add the gather base pointer.