You have a variety of options. Realize that Ryu can only hit you with a tatsu by either doing it on reaction at the sweep range, or on a guess at ranges slightly further than that. His tatsu’s hitbox alternates from front-to-back, so knowing this, there are brief moments during his spin where he’s vulnerable to counterattack, but this is often very difficult to time properly.
At far distances, you can do an early jump attack to punish, nj.fierce, or backfist. One of the most reliable options would be to flash kick if you have the charge. The other reliable option, if he’s doing the roundhouse version of tatsu, is to block spin kick standing, then duck and do a cr.fierce or cl.st.fierce. This helps you time your counterattack for when his leg is swinging behind him, and not towards you. Once he passes over you, your usual options are to do a cl.st.fierce, backfist at long range, or just let him move past you while you jump away and get better positioning.
If he recovers directly in front of you, it’s usually best to hit him with a cr.strong or cr.jab while he’s landing. This hits him while he’s in midair, which pushes him away, and allows you throw a sonic boom for chip. Low pokes are usually beaten by uppercuts when Ryu lands, since most Ryus love to either uppercut after a spin kick, throw, or low poke into mix-up.
Generally, this matchup is fairly even at the start of the round, but once Ryu gets super, it tilts in his favor. Overall, I consider it 6-4 Ryu, but a fundamentally-rooted and surgical Guile will be pretty adept at picking his spots to attack, defend, and retreat.