In the 1980's era Intel 80x86 architecture, there was a scalar floating point unit that had instructions like FSIN, FCOS, etc. for computing functions like sin and cos. These functions were implemented in microcode and might take 100's of CPU cycles to execute.
Later, Intel added Streaming SIMD Extensions (SSE) which gave the processor parallel floating point units that could be used to perform floating point operations on multiple operands in parallel. The SSE instruction set includes basic arithmetic operations (+,-,*,/,sqrt), but the SSE instruction set does not include instructions for functions like sin and cos. SSE has gone through several versions over the decades with additional instructions and more floating point registers.
Although the older instructions are still in the architecture, the SSE floating point units are extremely fast. In practice the SSE instructions are now used almost exclusively for floating point arithmetic with heavily optimized library routines used to compute functions like sin and cos. These routines will typically compute the function values by evaluating polynomial or rational function approximations of the functions. Sometimes a small table is used to select which polynomial is used for different ranges of input values.
Since floating point computation are extremely fast compared to memory accesses, and because a very large table would be required to hold all of the possible values for these functions, straight forward table lookup could not reasonably compete with this approach.
See this stackexchange question for more information and links to some specific implementations:
https://stackoverflow.com/questions/2284860/how-does-c-compute-sin-and-other-math-functions